problem with IPv4 protocol [closed] - ipv4

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 13 years ago.
Improve this question
using IPv4 protocol around 4 billion computers can be connected.(including classA, class B, class C networks). What should be done if the number exceeds beyond 4 billion? what are the consequences of such a situation?

What should be done if the number exceeds beyond 4 billion?
Well, IPv6 is already largely supported by the current software and network infrastructure, so it is an obvious successor to IPv4.
Unfortunatley, migrating to IPv6 is a chicken-and-an-egg problem: the majority of Internet users aren't using IPv6 because ISPs and online services do not support it. However, ISPs do not want to support IPv6 because their customers are not demanding it. But the time will come once the IPv4 space starts to get tight.
Meanwhile, for access to legacy IPv4 sites, ISPs might share a single IPv4 address for several customers in a NAT configuration (network address translation). Currently NAT is mostly employed if you connect more than one computer to a router in a residental connection (if you've ever configured port forwarding, you need that because of NAT).
However, note that even though the number of allocated IPv4 addresses will reach 4 billion in a few years, the number of connected computers is much less than that -- because Internet address registries allocate addresses to ISPs in large groups (netblocks).

IPv6

... a move to IPv6 ?
A contentious subject since the Service Providers have some incentives to wait for a crisis to have a reason to charge additional fees...
Note that Mobile Networks are the early adopters of IPv6 (they use 4to6 gateways): since the major growth in connected devices come from the Mobile side, the fixed side will be dragged to IPv6 by force anyways.

the address size in internet protocol version 6 (aka IPv6) is 128 bits.
that will allow for a theoretical number of 2^128 distinct IP addresses which should last for a while....

Related

Issue sending emails from Sendgrid to Oulook or Hotmail users [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed last year.
Improve this question
I am currently facing an issue sending emails from sendgrid to oulook or hotmail users:
550 5.7.1 Unfortunately, messages from [XX.XX.XX.XX] weren't sent.
Please contact your Internet service provider since part of their
network is on our block list (S3140). You can also refer your provider
to http://mail.live.com/mail/troubleshooting.aspx#errors.
Sengrid support keeps saying that it is my responsability to maintain dedicated IP reputation. The thing is that this IP was added to my account some weeks ago and I am not able to build any reputation since all emails are dropped by Microsoft. Other providers like Yahoo or Google are handling correctly our emails.
Also, checking IP in block lists, it is not listed in any of SPAM lists.
Can someone help me here?
Many thanks in advance.
Best regards,
Eduardo
From what you've shared, it sounds like you are using a dedicated IP address. The error you're seeing is due to you sending to a Microsoft owned email servers from an IP address they are unfamiliar with. Unfortunately Microsoft tends to auto-block new IPs, not just IPs with a poor sending reputation/history.
Are you sending email from new IP addresses?
IP addresses not previously used to send email typically don't have any reputation built up in our systems. As a result, emails from new IPs are more likely to experience delivery issues. Once the IP has built a reputation for not sending spam, EOP will typically allow for a better email delivery experience.
New IPs that are added for domains that are authenticated under existing SPF records typically experience the added benefit of inheriting some of the domain's sending reputation. If your domain has a good sending reputation new IPs may experience a faster ramp up time. A new IP can expect to be fully ramped within a couple of weeks or sooner depending on volume, list accuracy, and junk email complaint rates.
I recommend completing the Hotmail Blacklist Removal form. I also highly recommend this RackAid post about troubleshooting Hotmail delivery issues, which includes this gem of a pro-tip:
Usually, within 24-48 hours, you should receive notice of their decision. Typically, you receive one of two replies:
Not qualified for mitigation
We have implemented mitigation
If you receive the not qualified response, reply to the email. Ask for clarification as to why your IP did not qualify. You will usually receive a response in 24-48 hours. The response comes from a real tech who will work with you to resolve the issue.
If you IP qualifies for mitigation, you should see the Hotmail email block removed in 24 hours.
You may also want to use Microsoft's delisting portal, although I have seen the most benefit for SG users coming from using the "Hotmail" support form linked above.

Mobile phone with Multipath-TCP: How many subflows?

Only one subflow over LTE and one subflow over WiFi, or a number of subflows over LTE and WiFi?
Thank you.
#Lena I'm afraid your answer is not %100 correct. MPTCP as well as TCP use "pairs" of IP's and ports. So, the limitation of subflows is mainly in the port quantity. Thus, it is possible to create more than one subflow between two IP.
And what for? It is mainly to give more robustness to the connection. You can transmit the same thing from two subflows, and then compare it in the destination.
But it can be used to obtain a higher throughput too. Where? Imagine you have a mobile phone with two IP addresses and a server with two network interfaces. You can create four independent subflows pairing IP1-IP3, IP1-IP4, IP2-IP3, IP2-IP4.
Mobile phone: IP1 (LTE) --- IP2 (WiFi)
Server: IP3 ---- IP4
In conclusion, you can use different configurations for different purpouses. But yes, it is possible to have more than 2 subflows with 2 network interfaces.
The subflow is still a TCP connection, so it needs an IP address. Usually, when the mobile is connected to WiFi, it has an IP. The same is for LTE. So the mobile device has two IP addresses available. That's why when MPTCP connection is established, it's one subflow over LTE and one over WiFi. If multiple IP addresses can be established over LTE or Wifi, then for sure multiple subflows can be created over one channel.

EMV application development Questions [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I am new to EMV, currently I have an emergency EMV application development project, anybody could help me answer the below questions:
what is EMV L2 application kernel? Is an API or just an executable EMV application?
During an EMV payment transaction, what kind of data(message) information need to be captured from Chip&Pin card so that it could submit to bank card issuer for authorization. Which ISO specification that the payment transaction data should apply for.
what kind of connectivity between EMV terminal and acquirer? IP or Serial Port?
Any testing tools for EMV application development? Such as acquirer host simulation.
5.How much time it will take for an EMV application development?
1] what is EMV L2 application kernel? Is an API or just an executable EMV application?
It is more an API than an application. That's a piece of software that will use the underlying hardware to communicate with your EMV card, and will manage all of the EMV application level protocol (APDUs). If you're developing for a specific payment terminal, you'll have to contact the manufacturer to buy its kernel (ex : Ingenico, VeriFone). If you develop for a PC solution, you can buy some generic kernel (ex : EmvX). You probably don't want to write your own kernel, this blog estimates the cost of doing so :
EMV recommends to take around 18 month time to develop and certify a contact kernel. [...] Something between 200’000 and 400’000 Euro is a normal value.
2] During an EMV payment transaction, what kind of data(message) information need to be captured from Chip&Pin card so that it could submit to bank card issuer for authorization. Which ISO specification that the payment transaction data should apply for.
The documentation for the EMV protocol is publicly available at EMVco.com. An EMV card is a chip card, meaning you don't capture info from the card to later submit it to your bank (acquirer). In (very brief), your card will provide its characteristics to your application, and require a variable set of parameters (ex : amount, date, tip, etc.). Your application will reply with the required info and the card will then eventually decide if it accepts the transaction offline, accepts it online (after validation by the issuer), or rejects it.
3] what kind of connectivity between EMV terminal and acquirer? IP or Serial Port?
Between terminal and acquirer, it's a dial-up connection most of time (60% of merchants in the U.S. in 2012), or IP connection.
4] Any testing tools for EMV application development? Such as acquirer host simulation.
A bunch. You'll need a card issuer simulator (Visa, Mastercard, etc.), an acquirer (bank), simulator which will depend on the acquirer you're working with (in Canada, it could be Base24). You'll then need tools to troubleshoot communication problems between your application and EMV card (ex : SmartSpy), and eventually tools to prepare for certification (ex : from ICC Solutions, or Fime)
5] How much time it will take for an EMV application development?
A lot. Where I work, it just took a little bit more than 1 year to a 6 developers team with a strong experience in EMV transactions and payment applications to write a new payment application from scratch for an Ingenico terminal and to get it ready for certification. One of the most painful part is to succeed certification tests.
Targeting a PC environment may make development easier (easier debugging, more online resources and documentation, etc), but not having in-house skills and experience will increase significantly the cost
I can at least add to #nicolas-riousset 's answer for a couple.
1) I unfortunately do not have anything to add here.
2) Answer is check the specification on the applicability of your terminal and the CVM I believe of the terminal and the card as well as any processor specific requirements.
3) IP yes, but there are established protocols and most utilizing SSL these days. I believe even the dial-ups number has significantly dropped as those 'dial-up' ones have migrated to internet based but I don't drive POS terminals to be able to definitely confirm that.
4) A single simulator platform could accomplish a lot of this as getting a Base24, Postilion, Connex, SmartVista is no small under taking. We have the VISA & MasterCard simulators in-house as well as a few others and the VISA & MasterCard ones would be my last choice to pursue as they are least helpful for terminal to host. My short list of ones to look at that can do acquirer and issuer and processor simulation all on a single workstation would be the following, all have their quirks.
Paragon's FasTest
ACI Worldwide's "ASSET"
Clear2Pay's Lexcel (recently purchased by FIS)
5) Based on the complexity, nuances, backlog of talent, etc on EMV I think a year seems reasonable if not longer.

Will it matter VNC or RDC is used for remote desktop of full screen Chrome? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 4 years ago.
Improve this question
I haven been trying to understand the difference between VNC and RDP. My understanding is the VNC more or less just transmits a picture of the desktop. RDP however has more of a semantic understanding of what is happening on the desktop and transmits how to render certain types of windows, buttons, etc. (I don't know how relevant this is unless people are using Windows Presentation Foundation or something similar though...)
So it seems that RDP is a much more efficient protocol.
However, my primary use case will be for monitoring a desktop that has Chrome browser full screen. In this case, will RDP be doing the same thing as VNC would and transmitting the contents of the Chrome browser?
I think you are mostly right that RDP handles vector graphics, while vnc is mainly screen image based.
Another difference is RDP informs clients when changes occur, while VNC server waits for clients to request the screen updates. This also makes RDP more efficient.
However, as users want more and more of the same experience as the remote computer, RDP nowadays seldom send vector graphics, i.e., RDP pretty much also send screen image diffs. The reason RDP is still faster is because Microsoft has built-in drivers inside Windows to detect display changes while VNC uses workaround to do that, you can imagine Microsoft does much better job in this. So even both protocols send the same image, Microsoft is much more efficient. As a matter of fact, no Windows remoting software is as efficient as RDP (I know Citrix's ICA, let's put it under same RDP category).
If you plan to remotely use Chrome for videos, you mway feel disappointed by RDP, as it's slow unless you turn on RemoteFX, but it's only available from Windows 2008 servers (I am not sure if Windows 8 supports it, though).
So my suggestion, use RDP whenever possible.
I think you are getting confused by relating RDP and VNC with chrome. VNC (Virtual Network Computing) relates to various remote support tools like Ultra VNC, Real VNC, logmeinrescue, gosupportnow, GoToMyPC etc. and RDP means remote desktop access, remote desktop protocol, Microsoft remote desktop software etc. There are various meanings associated with RDP and VNC. It is a very detailed topic discussion of which requires lot of time.

Server side application for embedded devices [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'd like some advice as to the best server-side code that can handle real time data from devices and make decisions based on inputs. A simple example: Suppose I have a web-enabled thermometer, running a light TCP/IP client stack. When the temperature gets to 30 degrees, I want the device to contact the server, and then I want the server to send me an email. I also want the server to be able to send a command to turn on a heater.
The issue at hand here is the ability to start a TCP message from the server, and get through an assortment of arbitrary firewalls and routers, all the way down to the client device. I know that there are 'workarounds' like polling the server for updates, or 'long polling' where I call up to the server, and keep a connection open in case it has something to send. The problem here is bandwidth. Messages are rare, but important, so the headers and handshaking make up 98% of the traffic.
I've been reading up on WebSockets, and it seems like they are exactly what I need, especially when paired with HTML5.
Does anyone know of a ready-to-go server software package that could run on a cloud server, and push data down to my devices using some standardized methods? I really don't want to reinvent the wheel here, and I can't believe I'm the first to try this. I see a few folks doing it with their own proprietary solutions, but I'm more interested in buying a one-stop package.
WebSocket is a valid choice for connecting embedded devices to backend infrastructure due to it's low overhead, low latency and compatibility with Web and general network infrastructure. There is a broad range of server implementations available, i.e. Jetty, node.js based etc.
As an example, here is a demo connecting an Arduino device to a WebSocket server and a browser client showing real-time data in a chart:
https://github.com/tavendo/AutobahnPython/tree/master/examples/wamp/serial2ws
http://www.youtube.com/watch?v=va7j86thW5M
The technology used there, AutobahnPython, is a Python/Twisted based WebSocket implementation that
provides server and client implementation
directly runs on embedded devices like RasperryPi
makes it easy to access sensors connected via serial or CANbus (since Twisted supports that very well)
provides RPC and PubSub messsaging patterns on top of WebSocket
The tech is open-source, so you can roll your own solution. If you look for help/services to get it done for you, contact me;) We also provide Tavendo WebMQ, a virtual appliance (VMware, EC2) which adds features, management UI etc and also includes a REST API to push data to WebSocket clients.
Disclaimer: I am author of Autobahn and work for Tavendo.