Peer-to-Peer Connectivity Using Firewall and Network Address Translator Traversal. R. Naber

Size: px
Start display at page:

Download "Peer-to-Peer Connectivity Using Firewall and Network Address Translator Traversal. R. Naber"

Transcription

1 Peer-to-Peer Connectivity Using Firewall and Network Address Translator Traversal R. Naber April 22, 2005

2

3 Peer-to-Peer Connectivity Using Firewall and Network Address Translator Traversal Research Assignment Parallel and Distributed Systems Group Faculty of Electrical Engineering, Mathematics, and Computer Science Delft University of Technology R. Naber April 22, 2005

4

5 Abstract Network Address Translators (NATs) and Firewalls, also collectively called middleboxes, create problems for establishing connections in peer-to-peer (P2P) networks: They limit the outbound connections to the Internet, do not allow incoming connections, and break certain protocols. This happens because state is needed in the middleboxes, and absence of the correct state results in the failure of P2P application sessions. Connection reversal, relaying, Application Level Gateways (ALGs), hole punching, tunneling, and middlebox communication, are methods to set up the correct state in the middleboxes so P2P sessions can traverse them. Hole punching is the most effective way to setup P2P sessions. Knowledge on the behavior of middleboxes is used to punch a hole : Outbound packets cause the needed state to be setup. UDP hole punching can be used to establish a UDP session between most peers, using only the help of a few other peers. TCP hole punching is more difficult and error-prone, and might require servers on the public Internet, packet capturing, and/or superuser privileges. Since it is expected that firewalls and NATs will remain a part of the de facto Internet architecture, the design of any new P2P application will have to incorporate middlebox traversal techniques. i

6 ii

7 Preface In the contect of the I-Share project [24], I will be addressing the subject of firewall and network address translator (NAT) traversal in P2P networks. The work is carried out at the Parallel and Distributed Systems Group (PDS), which is part of the Faculty of Electrical Engineering, Mathematics, and Computer Science (EEMCS) of the Delft University of Technology. My work will consist of two parts: (1) A literature research project to investigate the problems that firewalls and NATs cause for P2P networks, and to detail the current methods used to address these problems, and (2) A Master of Science project to produce a Firewall and NAT traversal library, in which I will implement various traversal methods. This library will be a part of a P2P-Personal Video Recorder (P2P-PVR) application that is created as part of the I-Share Project. This report is the conclusion of the first part. Remko Naber April 2004 iii

8 iv

9 Contents 1 Introduction 1 2 Terminology Networks Sessions Network Address Translation Firewall Connectivity problems Limitations of an Internet connection Loss of the constant unique label Problems handeling incoming connections Protocol problems Connection failure problems Middlebox Traversal Connection reversal Static configuration Relaying TURN Application Level Gateways Middlebox communication UPnP for Gateway Devices SOCKS MIDCOM Realm Specific IP Hole punching STUN(T) Tunneling Teredo Applicability for P2P UDP hole punching Middlebox behavior for UDP Port-allocation behavior Packet-filter behavior Hairpin behavior Packet changes v

10 5.2 Middlebox detection for UDP Hole punching using UDP Step 1: Create the hole Step 2: Setup the filter Port prediction is error-prone Both peers behind a middlebox TCP hole punching Middlebox behavior for TCP Port-allocation behavior Packet-filter behavior Packet changes Middlebox detection for TCP Punching using TCP Step 1: Punching the hole Step 2: Accepting the incoming SYN Possible setup problems Examples Skype Azureus BitLord Three Degrees Activision games Conclusions 37 vi

11 List of Figures 2.1 A NAT router to share an Internet connection Unrestricted access to the Internet Access restricted by middleboxes Relaying by another peer Packet-filter behavior test First scenario for UDP hole punching Prediction failure: timing error Packets to multiple predicted ports Second scenario for UDP hole punching Intercepting packages Scenario for TCP hole punching vii

12 viii

13 Chapter 1 Introduction Peer-to-Peer (P2P) networks are popular, and the use of those networks has rapidly increased in the past years. The cost of a personal broadband connection is decreasing, while at the same time the broadband speeds are increasing. As a result, P2P networks constitute the largest amount of data traffic on ISP networks, and the amount of traffic is growing [8]. Due to the enormous growth in the past years, the Internet has evolved from the original architecture of [a] single universal logical addressing scheme, and the mechanisms by which packets may flow from source to destination essentially unaltered [10], to a network where Network Address Translators (NATs) are used to share a single broadband connection with multiple computers, and firewalls are used to protect personal computers and networks. One of the characteristics of both firewalls and NATs is that unsolicited incoming connections are refused. As a result it is becoming increasingly difficult to setup a direct connection between two peers of a P2P network. This is reflected in the following definition of P2P: P2P is a class of applications that takes advantage of resources storage, cycles, content, human presence available at the edges of the Internet... accessing these decentralized resources means operating in an environment of unstable connectivity and unpredictable IP addresses. Clay Shirky [33] A P2P application s main goal is to use resources available at peers running on nodes residing mostly at the edges of the Internet. These nodes are often located behind firewalls and NATs. Since it is more difficult to setup a connection to such a peer, its resources might not become fully available to the P2P network. It has been suggested that full IPv6 deployment will solve all connectivity problems. In [15] the full IPv6 deployment scenario is even named Heaven. However, as is also stated in [15], this scenario is not likely; IPv6 has not been fully deployed, and even if IPv6 is fully deployed, it is almost certain that firewalls and NATs will still be used. Firewall and NAT traversal methods can be used to improve connectivity, and this report will present those methods of traversal useful in peer-to-peer networks. The research focuses on solutions to the unstable connectivity problem. The problems introduced by unpredictable IP addresses are beyond the scope of this report. Firewalls and NATs are commonly called middleboxes. Middlebox is the name that is used to indicate a network intermediary that implements one or more middlebox services or functions: A middlebox function or a middlebox service is an operation 1

14 or method performed by a network intermediary that may require application specific intelligence for its operation [40]. The term middlebox thus includes every type of firewall from a large corporate firewall to a personal firewall, and it includes all different types of NATs. Throughout this document, a network intermediary in general will be referred to as a middlebox, and the name NAT or firewall is used where appropriate. Originally the Internet Protocol allowed packets to be routed from one host to another, without needing state or intelligence in the network. Firewalls and NATs changed this by introducing state and intelligence into the Internet. The state and intelligence is mostly hidden from the end hosts, but the (side-)effects are not. Most middleboxes are designed with the client/server paradigm in mind, allowing clients behind the middlebox to initiate connections to servers on the public Internet. These outgoing connections allow middleboxes to setup the state needed for the sessions. P2P networks however consist of peers that perform both client and server roles. These peers require the ability to receive incoming connections from the Internet. In middleboxes these incoming connections have no associated state, thus the connection is refused and dropped. Since connecting peers is the basis of every peer-to-peer network, the need for state and intelligence in the Internet is a problem for P2P networks. Successful traversal methods will thus depend on ways of setting the right state in the network to enable connections between peers. The question is: What are the best methods of middlebox traversal available for use in P2P networks? This report consist of the following chapters. In Chapter 2 an overview is given of the technologies and concepts related to middlebox traversal. Chapter 3 discusses the problems they present for P2P networks. Chapter 4 will then outline different methods of middlebox traversal. Chapters 5 and 6 will present a more detailed overview of UDP hole punching and TCP hole punching. This is followed by chapter 7, which presenting a few examples of P2P applications that use a form of middlebox traversal. Chapter 8 presents the conclusions of the report. 2

15 Chapter 2 Terminology The purpose of this chapter is to familiarize the reader with the technology and terms used in the context of middlebox traversal. The first section introduces the terms used when talking about a network. The second section will discuss the session concept. Then the working of a network address translator is described, and in the final section the working of the firewall. 2.1 Networks The following are the terms used in this document in relation to networks. The terms are taken from [39, 21] and adapted where needed for this report. Address realm (or) realm - An address realm is a collection of routers and end systems exchanging locally valid location knowledge. In the realm network addresses are uniquely assigned to entities such that datagrams can then be routed to them. Public/global network - A public or global network is an address realm with unique network addresses assigned by the Internet Assigned Numbers Authority (IANA) or an equivalent address registry. Private/local network - A private network is an address realm independent of external network addresses. A private network may also be referred to as a local network. The recommended address space for use in private networks is documented in [29]. External network - The external network is used to indicate the part of the network that is not influenced by the working of the middlebox. For example, for firewalls this corresponds to that part of the network not protected by the firewall. In most discussions the name external network is used as a synonym for the public/global network. Internal network - The internal network is the part of the network that is serviced by the middlebox. This is the private/local network for NATs, and for firewalls the protected part of the network. This is also used as synonym for private/local network. 3

16 2.2 Sessions The session is an important concept in the discussion about middleboxes. There is some confusion about what exactly constitutes a session. The name session is used in different situations: (1) To indicate a TCP or UDP session, (2) To indicate an application or protocol session, (3) to indicate a session managed as a unit in a middlebox. These types of sessions do not have to correspond. For example, an application might view a collection of TCP/UDP sessions as a single application session. In this report a type (1) session will be named a session or a TCP/UDP session. For an end host, a TCP/UDP session is identified by the 4-tuple (source IP address, source transport identifier, destination IP address, destination transport identifier). Each session has two endpoints, an endpoint is a 2-tuple (IP address, transport identifier), which is also referred to as a transport address or address. Two endpoints together form the session 4-tuple. Type (2) sessions will be named application or protocol session. Type (3) sessions will be named middlebox/nat/firewall session. There is a distinction between packet flow and session flow. Packet flow is the direction in which packets travels with reference to the middlebox. Outbound packet flow is packets traveling from the internal network to the external network. Inbound packet flow is packets going the other way around. The session flow indicates the direction in which a session was initiated with reference to the middlebox. Sessions started on the internal network, that traverse the middlebox to the external network, are considered outbound. Inbound sessions start on the external network, and traverse the middlebox to the internal network. A session has both an inbound and an outbound packet flow. Middleboxes have to maintain state to correctly handle sessions, therefore they have to identify the start and the end of a session. For TCP the start of the session is deduced from the initial SYN packet. For UDP there is no deterministic way of recognizing the start of a session, so a heuristic is to consider the first packet with a thus far unseen 4-tuple as the start. Detecting the end of a session is more difficult for a middlebox. A TCP session normally ends when both endpoints of the session have acknowledged FIN, or when either endpoint receives an RST. However, there is no guarantee that these packets will reach their respective endpoints after these packets traverse the middlebox. It is also possible that the communication ends without a FIN or RST. For example, when one of the endpoints crashes. For UDP there is again no deterministic way to detect the final packet. So for the middlebox a heuristic is needed to determine the end of a TCP or UDP session. This heuristic is often based on a timer. 2.3 Network Address Translation Network Address Translation (NAT) is a middlebox function that was invented in a time in which there was an exponential growth in the devices that used IP technology. In order to connect all those devices to the Internet, each of them would need a unique IP address. It was feared that the available IP addresses would be depleted in a matter of years. The inventor of NAT, Paul Francis, invented the NAT as a short-term stopgap solution to the address depletion problem [15]. In May 1994, The idea of the NAT was published as RFC1631 [11], The IP Network Address Translator. In [11] it was clearly stated that NAT is not a long term solution, and that further testing had to be done. Despite these words of caution, NAT proved to be a commercial success and has been ubiquitously deployed. 4

17 +---+ A \ \ \ \ Router (ISP Connection) B ---- w/ ((Internet)) / NAT / / C / Figure 2.1: A NAT router to share an Internet connection Network address translation is a method by which IP addresses are mapped from one address realm to another. A NAT router functions as a gateway to the Internet for a group of local hosts, see also Figure 2.1. These local hosts are assigned private addresses. These addresses are not globally unique, and thus cannot be used in the public address realm of the Internet. The NAT router is needed to route packets between the two address realms. The NAT uses intelligence to modify the address contents in the IP header, so that the header is valid in the address realm into which the datagram is routed. This way the NAT attempts to provide transparent routing for hosts in the private network to hosts on the Internet [39]. There are different types of NAT, and this report focuses on the traditional NAT types: Basic NAT, that translates only IP addresses; and Network Addresses and Port Translation (NAPT), that translates both IP addresses and transport identifiers. Other types of NAT are discussed in [39]. A Basic NAT router holds a set of globally unique IP addresses. When a private host tries to initiate a session with an Internet host, the Basic NAT router maps the private address to one of its public IP addresses for the duration of the session. NAPT extends this mapping method and includes the transport level identifier, i.e., the TCP/UDP port or the ICMP identifier. NAPT maps tuples of the type (local IP address, local transport identifier) to (global IP address, assigned transport identifier). This way multiple hosts behind the NAPT router can simultaneously connect to the Internet, using only a single external IP address. Each IP packet that traverses the NAT router has to be translated. In Basic NAT the IP address in the IP header is translated from the origin address realm to the destination realm. In NAPT also the transport level portion of the IP packet has to be changed. For outbound packets from the private network, the NAPT router translates the source IP address, source transport identifier, and all related fields such as the checksums of IP, TCP, UDP, and ICMP. On inbound packets, NAPT translates destination IP address, destination transport identifier, and again the IP and transport header checksums. For ICMP error messages, also the IP packet in the payload has to be changed. These changes include changes to the IP header, the checksum field, and the transport header of the packet in the payload. For the reader interested in the specific changes see [38]. In order to maintain transparency, the NAT middlebox maintains state for each session. At the detection of a new outbound session an address mapping is made, and state is setup to handle the session. All packets belonging to the session will be subject 5

18 to address lookup (and possibly transport identifier lookup) and translation. So when a datagram leaves one realm and enters another, it is forwarded to the right end-host in other realm. The minimum state needed for translation is the address mapping, but more information can also be maintained. For example the destination address, or the last seen sequence number of a TCP session, etc. The state is kept, and if needed updated, during the lifetime of the session, and only removed once the end of a session is detected. 2.4 Firewall A firewall is a middlebox service that screens network traffic, and blocks traffic it believes to be inappropriate, dangerous, or both. Firewalls are deployed for security reasons, either at network choke points, or running as a service on a client machine. It is important that applications continue to work properly in the presence of firewalls. This means that data traffic across the firewall should be allowed as long as it appears legit. The definition of legit depends on the needs of the person, or company, administering the firewall, but as can be seen from the following quotation, there is a tradeoff between security and usability. The only perfectly secure network is one that doesn t allow any data through at all and the only problem with such a network is that it is unusable [16]. There are three basic types of firewalls: Packet-filter firewalls, proxy-service firewalls, and stateful-inspection firewalls [16, 28]. A packet-filter firewall inspects each network packet, and then determines whether the packet is to be passed or dropped (blocked). This filtering is transparent to the user and the protocol. The decisions of this type of firewall are typically based on Access Control Lists (ACLs), which contain state on what traffic is allowed for certain combinations of source and destination IP addresses and port numbers. This is a permanent form of state, and no dynamic state is maintained. Control and logging capabilities are limited, but the working of the firewall is fast. A proxy-service firewall is based on a proxy server. The server relays the packets from the local host, thus making it look like the packets originated from the firewall. The proxy acts as server to the local host, and as a client to the external hosts. The proxy is either transparent to the local host, or requires the local host to use a special protocol mechanism to communicate with the proxy. Since the firewall acts like a protocol endpoint, it can perform protocol validity checks, allow only a subset of the protocol, and provide sophisticated filtering, logging, caching and even virtual private networking facilities [28]. There are two types of proxy firewalls: Circuit-level proxies and application-level proxies. Circuit-level proxies work like packet-filter firewalls, and do not maintain dynamic state, and thus provide a simple and fast filtering relay. Application-level proxies on the other hand use application and protocol intelligence. These proxies track and maintain state on both normal and application sessions, and also use packet-payload inspection to make decisions. Stateful-inspection firewalls monitor the entire OSI network stack. State is maintained for all the communication across the firewall using application and protocol intelligence, allowing the firewall to construct a contextual history. This enables the use of strict security policies and sophisticated packet filtering. It also allows the firewall to be more transparent to the end user. An FTP session for example consists of multiple 6

19 TCP session using different port numbers. By inspecting the FTP packets the firewall knows which ports will be used for each of the TCP sessions, and can setup the right state to allow these TCP sessions to cross the firewall. 7

20 8

21 Chapter 3 Connectivity problems In order for a P2P network to perform its function, connections have to be made between the peers. Before the introduction of firewalls and NATs, it was easier to setup a connection, because connections to and from the Internet were not restricted. In Figure 3.1, a (simple) example is shown with two peers, A and B. Both peers have a direct connection to the Internet with a fixed IP address. A session between them can be setup by either A or B, simply by connecting to the other peer s IP address A ((Internet)) B Figure 3.1: Unrestricted access to the Internet The various middleboxes form obstacles in the path to the Internet. Instead of a direct connection to the Internet, a peer (host) might be situated behind a NAT router, a firewall, a combination of a firewall and a NAT, or even behind a cascaded setting of middleboxes. This situation can be seen in Figure 3.2. Since most middlebox services are designed to be transparent, peers running on a client host might not know about the middleboxes, but the peers could still experience the (side-) effects of the working of the middleboxes. These effects can be divided in intentional and unintentional effects. Intentional effects are part of the function of a middlebox. For example, the firewall by nature reduces connectivity. Unintentional effect are side-effects, which are the result from the use of the middlebox function. NATs have the side-effect of limiting incoming connections, like the firewall. This is even marketed as a security feature of NAT [15]. This also shows that the distinction between the different middlebox services is fading. Another example of the fading boundaries is the proxy firewall, which uses a form of network address translation when it changes a packet s address, and replaces it with its own address. For the discussion the connectivity problems for P2P networks is devided into five problems, which are discussed in turn. 3.1 Limitations of an Internet connection The first problem is the limitations a peer could encounter when trying to connect to another peer. A firewall, for example, can be configured to deny access to the Internet for certain internal hosts, or deny access for every host during a certain time period. It is 9

22 NAT w/ Firewall ISP NAT Private NAT A ((Internet)) B Figure 3.2: Access restricted by middleboxes also possible to limit connections to the Internet to a certain protocol. For example, by only allowing HTTP. A proxy-service or stateful-inspection firewall can go even further, and limit the protocol by allowing only a safe subset of the protocol. For a NAT router a limitation is the total number of addresses available. For example, with basic NAT, the number of private hosts that can have a simultaneous connection to the external network is limited by the number of global addresses available. 3.2 Loss of the constant unique label An IP address can no longer be used as a constant unique label for a peer. The network address translator allows multiple hosts to share a single IP address, or to share multiple IP addresses on a round-robin basis. A proxy firewall also changes IP addresses of packets to its own IP address. In [10] some other reasons why an IP address is no longer a unique unique label are discussed, like dynamic address allocation. Thus using the IP address for identification is no longer a valid option, and another form of identification has to be found. For example, the identification problem can be solved by using a public key system. This peer identification problem is outside the scope of this report. 3.3 Problems handeling incoming connections Middleboxes create problems for incoming connections. Middleboxes favor the client/server model, where a session is setup from the internal network to the external network. The first packet of the session enables the middlebox to setup state, after which the return traffic can traverse the middlebox from the external network to the internal network. Thus, only if state is found for a packet arriving at the middlebox, can the packet be passed on. If no state is found the normal behavior of a middlebox is to drop the packet. As was stated above, for the firewall this is an intentional effect, because it is designed to block unsolicited connections. For the NAT this is a unintentional side-effect, packets arriving at a NAT-like middlebox, have as destination address the address of the middlebox. Without further knowledge provided by the state, the NAT does not know to which internal host to forward the packet. These packets are then simply dropped, or considered to be directed to the NAT itself. However in the last case, it is most likely that the packet isn t meant for the NAT, so the packet still does not reach its intended destination. 10

23 3.4 Protocol problems Middleboxes can break certain protocols. Protocols like FTP, H.323, SIP, and RTSP use multiple TCP/UDP sessions on various ports, both inbound and outbound, as a single protocol session. The outbound sessions might succeed, but without state in the middlebox to handle the inbound sessions the protocol session will still fail [22]. NAT changes IP addresses and port numbers, which introduces problems for protocols that cannot handle those changes. Encrypted protocol like IPsec check the IP address for changes, and discard all packets with changed address or port numbers. Other protocols, like FTP, include IP addresses and port numbers in their payload, but these will be invalid in the external address realm. 3.5 Connection failure problems The final problem is the increased brittleness of the connections, which can easily lead to connection failures. This is the result of the middleboxes keeping state for their working. If there is no state in the network, then state can only be destroyed when the endpoint itself breaks [9]. If state is kept at a certain middlebox in the network and that middlebox has a failure, then traffic dependent on that state cannot be routed around the failure. All sessions traversing the middlebox at that time will fail. This is called fate-sharing, the end hosts and the middlebox share the same fate: If the middlebox fails, then so do all the sessions to and from the hosts on the internal network. The fate-sharing problem is a fact that creators of P2P networks will have to cope with, but the problem is beyond the scope of this report. 11

24 12

25 Chapter 4 Middlebox Traversal Peer-to-peer networks have troubles with middleboxes, because they reduce connectivity. An answer to these problems is found in middlebox traversal. For middlebox traversal the following definition is used: Middlebox traversal consists of all methods and techniques that can be used to setup a session between two peers that traverses all middleboxes along the way. The definition is a general definition, and says nothing about the applicability of a method to a specific P2P network, or the feasibility of the method for implementation in a P2P application. For two peers A and B in a P2P network it is important that A can send data to B, and B can send data to A, preferably using direct communication. So, a traversal method can be considered a success when a P2P session is successfully established. The methods described in this chapter are traversal methods to increase connectivity in general, and help setup sessions that traverse middleboxes. Also examples of protocols that implement these methods are presented. Of the 5 problems discussed in the last chapter, only (1), (3) and (4) can be (partially) solved by middlebox traversal. Since these problems all have to do with the (lack of) state in the middleboxes, the traversal methods are based on ways of setting up the state needed for a session, or using the already available state to allow sessions to traverse a middlebox. For the explanation of some of the methods an example is used with three peers: A, B, and C. A wants to setup a connection to peer B. Peer C is available to help setup the connection, and is assume C is already connected to A and B. 4.1 Connection reversal Connection reversal is a simple method that can be used when two peers need to setup a session, but one of the peers is located behind a middlebox. For example, when A is not behind a middlebox, but peer B is, then A cannot initiate a session to B, because there is no state for the inbound session on the middlebox at B. Peer B, on the other hand, can start a session to A, since this would be viewed by the middlebox as an outbound session. The outbound session by B will setup the state for the return traffic from A. So if A wants to communicate with B, A has to request B to start the session. This request can be sent to B via peer C. 13

26 4.2 Static configuration Firewalls and NATs setup state dynamically for outbound sessions. Inbound sessions cannot be dynamically setup, but static configuration is possible. Permanent state is stored in the middlebox by the middlebox administrator to allow inbound sessions. In order to allow an incoming session to pass through a firewall, static rules can be setup in the firewall detailing which packets will be allowed to pass through the firewall to the internal network. In basic NAT a static mapping can be used to allow inbound access for a preselected internal host via a fixed public address [38]. In a NAPT router, an external IP address and port can be mapped to an internal IP address and port. For example, a NAPT router can route all incoming traffic to port 1214 to a certain internal node, by statically mapping port 1214 to port 1214 of the internal node. 4.3 Relaying Relaying is based on a third party that forwards or relays data traffic from one peer to another peer. This method can be used if both peers are behind a middlebox. The third party acts as a server for both peers. This way both peers communicate as the client of the client/server style; both peers initiate outbound sessions to the server. The third party can be a dedicate relay server, or in a P2P network the third party can be another peer. Using the example, peer A and B would use their connection to C, and let C relay data between A and B, see Figure C --+ / \ / \ A X Blocked X B Figure 4.1: Relaying by another peer TURN Traversal Using Relay NAT (TURN) is an example of a protocol designed for relaying data traffic to and from hosts behind a middlebox [30]. It works on the assumption that hosts behind middleboxes can make outward connections to TURN servers on the public Internet. The TURN servers function as the public endpoint for an end-host, and relay data sent by other hosts to these public endpoints back to the end-host. This allows inbound sessions to be setup to the host behind the middlebox. TURN provides features like security, authentication, the ability for end-hosts to request even or odd ports, and pre-allocation of higher ports. 4.4 Application Level Gateways Application Level Gateways (ALGs) use application intelligence to dynamically configure a middlebox. This can help protocol sessions to traverse the middlebox. ALGs 14

27 are different from proxies, they are not visible to end-hosts, and are not an endpoint of a session. Instead, an ALG examines application traffic in transit, and assists the middlebox in handling the session. The ALG uses its intelligence to set up state, and change the payload of certain packets, to allow an application to transparently maintain sessions across the middlebox. This way, protocols that use multiple TCP/UDP sessions as one protocol session like FTP, SIP and H.323 do not fail, if there is an ALG to aid the middlebox traversal of the protocol [22]. When correctly implemented, an ALG will undo the problems introduced by the middlebox for the specific protocol. In theory it is possible to create an ALG for all protocols, but for some protocols there are practical problems. For example, for certain protocols that require end-toend encryption or use another form of data protection an ALG might not work. These protocols are designed to detect and discard packets that were altered. In order to change the application packets so they are not discarded, the ALG would need access to the encryption keys. This is a trust issue, and it is difficult for an end-host to trust the middleboxes in its path to the Internet. 4.5 Middlebox communication Instead of having intelligence in the middleboxes, middlebox communication protocols allow the intelligence to be elsewhere. The protocols allow end-hosts to communicate their connectivity needs to the middleboxes. The end-hosts can request state, like port mappings and rules, to be setup to facilitate protocol traversal through the middlebox. The middlebox communication can either be done using an on-path or off-path signalling method [34]. On-path signaling works by sending a request into the network to the destination address. Every middlebox encountered along the way can then setup state if needed, and then pass the request packet on. This is done in an RSVP like fashion [7]. Off-path is the more common method. For this the endpoint has to know it is behind a middlebox, and send an explicit request to the middlebox to setup state for future data traffic UPnP for Gateway Devices As part of the overall UPnP architecture, UPnP for Gateway Devices targets NAT and firewall functionality, and is primarily for the consumer, home office, and small business networking domain. It provides features for middlebox traversal, these include: middlebox detection, addressing realm information retrieval, listing of current port mappings, creation and deletion of port mappings [42] SOCKS SOCKS (Version 5) provides authenticated firewall traversal based on network proxies at the transport level [25]. SOCKS uses a generic proxy server, where clients with the correct credentials can setup state in the firewall, and then transparently and securely traverse the firewall. These clients can be either inside or outside the firewall allowing bi-directional communication. Multiple SOCKS proxies can even be used in a cascaded setting. SOCKS provides a framework for TCP and UDP, but does not provide forwarding of ICMP messages. 15

28 4.5.3 MIDCOM MIDCOM (MIDdlebox COMmunication) is another framework to take application intelligence out of middleboxes. MIDCOM places application intelligence in MIDCOM agents and policy servers. The agents are external to the middlebox, and can be part of an application or an application proxy. Agents request a middlebox service, this can be a port mapping or a request for external access, etc. Each request from an untrusted agent has to be authorized by a policy server. MIDCOM is still a work in progress, for more information see [27] Realm Specific IP Realm Specific IP performs the same function as NAT, only in a different manner. RSIP is not transparent to the end user. Instead, it requires that clients are aware of the RSIP server to actively negotiate Internet access. RSIP is available on the IP address level as Realm Specific Address IP (RSA-IP), and on the transport level as Realm Specific Address and Port IP (RSAP-IP) [6, 5]. If a RSIP hosts needs a presence in another addressing realm, it requests resources from the RSIP gateway. This can be a public IP and a port number for TCP or UDP. Once the resources are granted, they can be used by the RSIP host for communication with the public Internet. The host can receive incoming connections on the awarded address, and use the address to setup sessions to other hosts. RSIP tunnels the packets between the RSIP host and the gateway, this way also encrypted protocols can be used by the end host. 4.6 Hole punching Hole punching relies on the behavior of firewalls and NATs; At the start of an outgoing session, state is setup for return traffic. Depending on the implementation of the middlebox, and the state that is recorded, the return packets can come from only the address the outbound session was destined for, or also from other locations. Hole punching can be used when two peers are both behind a middlebox. Hole punching is effectively tricking the two middleboxes into setting up a single session that both middleboxes see as an outbound session [14]. The hole punching method uses knowledge on the behavior of a middlebox to send the packets that trigger the setup of state for incoming data traffic. There are different types of hole punching, of which UDP hole punching is the best known and usable. Hole punching with TCP is also possible, but it is considerably more difficult STUN(T) Simple Traversal of UDP through NATs (STUN) is an example of a protocol that uses a client/server structure to enable hosts to use UDP hole punching [31]. An extension of the STUN protocol for TCP is STUNT [17]. A host runs a STUN(T) client that connects to a STUN(T) server on the public Internet. The client allows the host behind a middlebox to discover the presence of the middlebox in its path to the Internet, and discover the behavior of this middlebox. STUN(T) also provides the host with information on the public IP assigned by the NAT middlebox. This knowledge can then be used for UDP and TCP hole punching. 16

29 4.7 Tunneling Tunneling is an encapsulation mechanism for transporting protocol packets in the payload of another protocol. This can be handy in cases where an Internet connection is restricted by a firewall that only allows certain protocols to pass. For example, when a proxy firewall only allows outward HTTP sessions, the P2P protocol can be embedded in HTTP. Or after a UDP hole is punched on a NAT, TCP could be tunneled in the payload of UDP packets Teredo Teredo is service that allow hosts connected to an IPv4 NAT to obtain IPv6 connectivity by tunneling IPv6 packets over UDP. The service requires Teredo servers and relays. The relays are positioned between native IPv6 and the Teredo service. The servers are used to manage only a small part of the traffic between Teredo clients [23]. Teredo uses UDP hole punching techniques to obtain direct connections between Teredo clients behind middlebox. Teredo uses the name automatic tunneling for this hole punching technique. 4.8 Applicability for P2P The traversal methods discussed in this chapter are all capable of solving a part of the problems. For the creation of a P2P application, it is important to understand which of these solutions can be programmed into a client. Therefore the applicability of the methods are discussed here: Connection reversal - Is a very handy method if only one peer is located behind a middlebox. Static configuration - This is not a solution that can be programmed into a client, although the documentation of the P2P application could include good information on how to perform static configuration. Static configuration does however require that the user has the administrative powers and knowledge to perform the configuration, something not all users have. Relaying - Relaying is a technique that is effective, but since all data has to travel to and from the relaying node, it is costly in terms of bandwidth and processing power. Direct connections are thus preferred in P2P networks. ALGs - The problem with ALGs is that for every new protocol a new ALG has be created, also, creation alone is not enough, every middlebox device will have to be updated with the new ALG. This is something that is not simply feasible, so some middleboxes will have the ALGs while others do not. This means that some protocols will therefore traverse certain middleboxes, while they will fail on others. For a P2P developer it is important to remember that any protocol that requires special handling by NAT or firewall products will be more difficult to deploy than those that require no special handling [32]. Middlebox communication - Using middlebox communication, it is possible to setup state on a middlebox for P2P sessions, i.e., to enable inbound sessions. This means 17

30 that a P2P application could implement the code needed to talk to the middlebox using the middlebox communication protocol. However, in the case of cascaded middleboxes the peer may only be able to setup state on the nearest middlebox, after which the session could still fail on the next middlebox. Hole punching - Hole punching is an effective method to setup state in a middlebox. It is one of the simplest but most robust and practical [firewall and] NAT traversal techniques [14]. Hole punching will be discussed in detail in the next two chapters: First UDP hole punching, then TCP hole punching. Tunneling - Is a method that causes overhead if an existing protocol is embedded into another protocol. Also the advantages of the embedded protocol might not be available for the other protocol, this means that they have to be re-implemented in the tunneling protocol. Tunneling should only be seen as an optimization, with as best example the tunneling of a protocol in HTTP, when HTTP is the only protocol that can be used. 18

31 Chapter 5 UDP hole punching UDP hole punching is a technique that can be used to establish a UDP session between two peers, even if each peer is located behind a middlebox that blocks inbound UDP sessions. The basic mechanism of UDP hole punching is to let both peers start an outbound UDP session by sending a UDP packet to the other peer. Once these first UDP packets arrive at the respective middleboxes, they are seen as the start of an outbound UDP session. Both middleboxes then set up the state for these sessions. The state in each middlebox will allow the UDP packets from the other peer to pass through the middlebox. So the first outgoing UDP packet by each peer effectively punched a hole for the incoming UDP data traffic of the other peer. As a result a UDP session is established between the two peers. The setup of this chapter is as following. Because UDP hole punching depends on knowledge of the behavior of the various middleboxes, this behavior will be discussed first. Then the way to figure out this behavior, middlebox detection, is discussed. Once a peer has done the detection it has the knowledge needed to punch a hole in its middlebox. The steps to punch a hole in a middlebox are explained in the final section of this chapter. 5.1 Middlebox behavior for UDP Since middlebox behavior has not be standardized, there is no uniform handling of UDP sessions by middleboxes. The behavior depends fully on the implementation of the middlebox, and the configuration done by the administrator of the middlebox. Since most middleboxes are transparent to the hosts on the local network, this behavior cannot be observed by a local peer, but fortunately the behavior can be observed by other peers. Observations made by the other peers can be combined to form a picture of the behavior of the middleboxes in the path to the Internet. It is important to note, that it does not matter how many different middleboxes are situated in the path to the Internet. Only the most restrictive behavior will be observed by the other peers and it is the knowledge of this behavior that is needed to punch a hole. The following discussions focuses on the behavior that can be observed when a peer behind a middlebox initiates outgoing UDP sessions to other peers. It is assumed that all sessions are started from the same local IP address and local port. It is also assumed, that for a NAT there is only one global IP address available. So only the external port number, the destination IP address, and destination port number can vary. 19

32 5.1.1 Port-allocation behavior The port-allocation behavior determines the way the internal port number is mapped to an external port number. This behavior only applies to the middlebox services that change the port number of a packet, like the NAPT and the proxy firewall. The behavior can be divided in: the initial port assignment behavior for the first UDP session coming from a local IP:port, and the behavior towards the packets of further sessions that originate from the same local IP:port. For the initial port assignment, there are three different strategies that are used: Port preservation - When port preservation is used, an attempt is made to assign the same external port number as the internal port number the session was started from. Constant delta - The session is assigned to the next available external port. This external port is found by adding a constant number, the delta, to the last allocated port. If this port happens to be in use, then the delta is added again and again until a free port is found. Random - The session is assigned to a random free port. Port preservation is possible if the external port is not in use, or if port overloading is used when the external port is already in use. With port overloading, multiple sessions from different internal IPs using the same local port are mapped to the same external port. This only works if its possible to distinguish the sessions based on the destination IP and port number. Port overloading for UDP thus fails, if two internal hosts initiate a connection to the same external IP:port combination. If port preservation isn t possible, then one of the other two methods of assignment will have to be used. There are two weaker forms of port preservation: Range preservation and parity preservation. When range preservation is used, an attempt is made to allocate the port in the same range as the local port used. The port ranges are low, high, and dynamic. These are defined as , >= 1024, and >= 49152, respectively [17]. Some NATs preserve the parity of the local port used; An even port is mapped to an even port, and an uneven port is mapped to an uneven port. This is done for the RTP and RTCP protocols, where RTP uses even ports, and RTCP uses odd ports. Related to parity preservation is port contiguity: If RTP uses even port X, then a companion RTCP session will use odd port X+1. Subsequent UDP sessions from the same local IP:port are either mapped to the same external port, or mapped to a new port. On arrival of an UDP packet at the middlebox, the following mapping behavior can be distinguished: Not sensitive - All packets are mapped to the same external port number, regardless of the destination IP address or port number. Address sensitive - All packets to a certain destination IP address are mapped to the same external port, regardless of the destination port. A new external port is allocated for each distinct destination IP address in the UDP traffic. Port sensitive - Only packets to a distinct combination of destination IP address and destination port are mapped to the same external port. This implies that a new 20

Network Address Translators (NATs) and NAT Traversal

Network Address Translators (NATs) and NAT Traversal Network Address Translators (NATs) and NAT Traversal Ari Keränen ari.keranen@ericsson.com Ericsson Research Finland, NomadicLab Outline Introduction to NATs NAT Behavior UDP TCP NAT Traversal STUN TURN

More information

Realtime Multimedia in Presence of Firewalls and Network Address Translation

Realtime Multimedia in Presence of Firewalls and Network Address Translation Realtime Multimedia in Presence of Firewalls and Network Address Translation Knut Omang Ifi/Oracle 9 Oct, 2017 1 Overview Real-time multimedia and connectivity Mobile users (roaming between devices) or

More information

Realtime Multimedia in Presence of Firewalls and Network Address Translation. Knut Omang Ifi/Oracle 9 Nov, 2015

Realtime Multimedia in Presence of Firewalls and Network Address Translation. Knut Omang Ifi/Oracle 9 Nov, 2015 Realtime Multimedia in Presence of Firewalls and Network Address Translation Knut Omang Ifi/Oracle 9 Nov, 2015 1 Overview Real-time multimedia and connectivity Mobile users (roaming between devices) or

More information

Category: Informational M.I.T. D. Kegel kegel.com March State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs)

Category: Informational M.I.T. D. Kegel kegel.com March State of Peer-to-Peer (P2P) Communication across Network Address Translators (NATs) Network Working Group Request for Comments: 5128 Category: Informational P. Srisuresh Kazeon Systems B. Ford M.I.T. D. Kegel kegel.com March 2008 Status of This Memo State of Peer-to-Peer (P2P) Communication

More information

Network Address Translation (NAT) Contents. Firewalls. NATs and Firewalls. NATs. What is NAT. Port Ranges. NAT Example

Network Address Translation (NAT) Contents. Firewalls. NATs and Firewalls. NATs. What is NAT. Port Ranges. NAT Example Contents Network Address Translation (NAT) 13.10.2008 Prof. Sasu Tarkoma Overview Background Basic Network Address Translation Solutions STUN TURN ICE Summary What is NAT Expand IP address space by deploying

More information

Network Address Translation (NAT) Background Material for Overlay Networks Course. Jan, 2013

Network Address Translation (NAT) Background Material for Overlay Networks Course. Jan, 2013 Network Address Translation (NAT) Background Material for Overlay Networks Course Jan, 2013 Prof. Sasu Tarkoma University of Helsinki, Department of Computer Science Contents Overview Background Basic

More information

while the LAN interface is in the DMZ. You can control access to the WAN port using either ACLs on the upstream router, or the built-in netfilter

while the LAN interface is in the DMZ. You can control access to the WAN port using either ACLs on the upstream router, or the built-in netfilter When the LAN interface is in a private IP DMZ, you can write the firewall rule-set to restrict the number of hosts the VBP can communicate with to only those devices. This enhances security. You can also

More information

Firewalls and NAT. Firewalls. firewall isolates organization s internal net from larger Internet, allowing some packets to pass, blocking others.

Firewalls and NAT. Firewalls. firewall isolates organization s internal net from larger Internet, allowing some packets to pass, blocking others. Firews and NAT 1 Firews By conventional definition, a firew is a partition made of fireproof material designed to prevent the spread of fire from one part of a building to another. firew isolates organization

More information

Network Interconnection

Network Interconnection Network Interconnection Covers different approaches for ensuring border or perimeter security Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Lecture

More information

On the Applicability of knowledge based NAT-Traversal for Home Networks

On the Applicability of knowledge based NAT-Traversal for Home Networks On the Applicability of knowledge based NAT-Traversal for Home Networks Andreas Müller, Andreas Klenk, and Georg Carle University of Tübingen, Computer Networks and Internet, Sand 13, 72076 Tübingen, Germany

More information

Network Address Translator Traversal Using Interactive Connectivity Establishment

Network Address Translator Traversal Using Interactive Connectivity Establishment HELSINKI UNIVERSITY OF TECHNOLOGY Department of Communications and Networking S-38.3138 Networking Technology, Special Assignment Veera Andersson Network Address Translator Traversal Using Interactive

More information

BIG-IP CGNAT: Implementations. Version 13.0

BIG-IP CGNAT: Implementations. Version 13.0 BIG-IP CGNAT: Implementations Version 13.0 Table of Contents Table of Contents Deploying a Carrier Grade NAT... 9 Overview: The carrier-grade NAT (CGNAT) module... 9 About ALG Profiles...10 About CGNAT

More information

CSC Network Security

CSC Network Security CSC 474 -- Security Topic 9. Firewalls CSC 474 Dr. Peng Ning 1 Outline Overview of Firewalls Filtering Firewalls Proxy Servers CSC 474 Dr. Peng Ning 2 Overview of Firewalls CSC 474 Dr. Peng Ning 3 1 Internet

More information

Fixed Internetworking Protocols and Networks. IP mobility. Rune Hylsberg Jacobsen Aarhus School of Engineering

Fixed Internetworking Protocols and Networks. IP mobility. Rune Hylsberg Jacobsen Aarhus School of Engineering Fixed Internetworking Protocols and Networks IP mobility Rune Hylsberg Jacobsen Aarhus School of Engineering rhj@iha.dk 1 2011 ITIFN Mobile computing Vision Seamless, ubiquitous network access for mobile

More information

On the Applicability of Knowledge Based NAT-Traversal for Home Networks

On the Applicability of Knowledge Based NAT-Traversal for Home Networks On the Applicability of Knowledge Based NAT-Traversal for Home Networks Andreas Müller, Andreas Klenk, and Georg Carle University of Tübingen, Computer Networks and Internet, Sand 13, 72076 Tübingen, Germany

More information

Table of Contents. Cisco How NAT Works

Table of Contents. Cisco How NAT Works Table of Contents How NAT Works...1 This document contains Flash animation...1 Introduction...1 Behind the Mask...2 Dynamic NAT and Overloading Examples...5 Security and Administration...7 Multi Homing...9

More information

BIG-IP CGNAT: Implementations. Version 12.1

BIG-IP CGNAT: Implementations. Version 12.1 BIG-IP CGNAT: Implementations Version 12.1 Table of Contents Table of Contents Deploying a Carrier Grade NAT... 7 Overview: The carrier-grade NAT (CGNAT) module... 7 About ALG Profiles...8 About CGNAT

More information

Category: Experimental J. Lo Candlestick Networks K. Taniguchi NEC USA October 2001

Category: Experimental J. Lo Candlestick Networks K. Taniguchi NEC USA October 2001 Network Working Group Request for Comments: 3103 Category: Experimental M. Borella D. Grabelsky CommWorks J. Lo Candlestick Networks K. Taniguchi NEC USA October 2001 Status of this Memo Realm Specific

More information

Indicate whether the statement is true or false.

Indicate whether the statement is true or false. Indicate whether the statement is true or false. 1. Packet-filtering firewalls scan network data packets looking for compliance with the rules of the firewall s database or violations of those rules. 2.

More information

Technical White Paper for NAT Traversal

Technical White Paper for NAT Traversal V300R002 Technical White Paper for NAT Traversal Issue 01 Date 2016-01-15 HUAWEI TECHNOLOGIES CO., LTD. 2016. All rights reserved. No part of this document may be reproduced or transmitted in any form

More information

Request for Comments: August IP Network Address Translator (NAT) Terminology and Considerations

Request for Comments: August IP Network Address Translator (NAT) Terminology and Considerations Network Working Group Request for Comments: 2663 Category: Informational P. Srisuresh M. Holdrege Lucent Technologies August 1999 IP Network Address Translator (NAT) Terminology and Considerations Status

More information

IPv4 addressing, NAT. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

IPv4 addressing, NAT. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley. IPv4 addressing, NAT http://xkcd.com/195/ Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Some materials copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights

More information

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. 09 Intranetting. Fundamentals of Communication Networks

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. 09 Intranetting. Fundamentals of Communication Networks Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione 09 Intranetting Fundamentals of Communication Networks 1 Private networks and Intranets EG subnet IG IG Private network IG o Private

More information

Computer Networks. Course Reference Model. Topic. Error Handling with ICMP. ICMP Errors. Internet Control Message Protocol 12/2/2014.

Computer Networks. Course Reference Model. Topic. Error Handling with ICMP. ICMP Errors. Internet Control Message Protocol 12/2/2014. Course Reference Model Computer Networks 7 lication Provides functions needed by users Zhang, Xinyu Fall 2014 4 Transport Provides end-to-end delivery 3 Network Sends packets over multiple links School

More information

Configuring Transparent Redirection for Standalone Content Engines

Configuring Transparent Redirection for Standalone Content Engines CHAPTER 6 Configuring Transparent Redirection for Standalone Content Engines This chapter discusses the following methods for transparently redirecting content requests to standalone Content Engines: Web

More information

Chapter 8 roadmap. Network Security

Chapter 8 roadmap. Network Security Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Message integrity 8.4 Securing e-mail 8.5 Securing TCP connections: SSL 8.6 Network layer security: IPsec 8.7 Securing

More information

Network Working Group Request for Comments: 3102 Category: Experimental. J. Lo Candlestick Networks Contributors: D. Grabelsky.

Network Working Group Request for Comments: 3102 Category: Experimental. J. Lo Candlestick Networks Contributors: D. Grabelsky. Network Working Group Request for Comments: 3102 Category: Experimental Editors: M. Borella CommWorks J. Lo Candlestick Networks Contributors: D. Grabelsky CommWorks G. Montenegro Sun Microsystems October

More information

HP A-F1000-A-EI_A-F1000-S-EI VPN Firewalls

HP A-F1000-A-EI_A-F1000-S-EI VPN Firewalls HP A-F1000-A-EI_A-F1000-S-EI VPN Firewalls NAT Configuration Guide Part number:5998-2649 Document version: 6PW100-20110909 Legal and notice information Copyright 2011 Hewlett-Packard Development Company,

More information

Internet Engineering Task Force (IETF) Request for Comments: 7604 Category: Informational. September 2015

Internet Engineering Task Force (IETF) Request for Comments: 7604 Category: Informational. September 2015 Internet Engineering Task Force (IETF) Request for Comments: 7604 Category: Informational ISSN: 2070-1721 M. Westerlund Ericsson T. Zeng PacketVideo Corp September 2015 Comparison of Different NAT Traversal

More information

IPV6 SIMPLE SECURITY CAPABILITIES.

IPV6 SIMPLE SECURITY CAPABILITIES. IPV6 SIMPLE SECURITY CAPABILITIES. 50 issues from RFC 6092 edited by J. Woodyatt, Apple Presentation by Olle E. Johansson, Edvina AB. ABSTRACT The RFC which this presentation is based upon is focused on

More information

CSC 474/574 Information Systems Security

CSC 474/574 Information Systems Security CSC 474/574 Information Systems Security Topic 7.4 Firewalls CSC 474/574 Dr. Peng Ning 1 Outline What are firewalls? Types Filtering Packet filtering Session filtering Proxy Circuit Level Application Level

More information

In Defence of NATs. Geoff Huston APNIC. IEEE Global Internet Symposium, May 2017

In Defence of NATs. Geoff Huston APNIC. IEEE Global Internet Symposium, May 2017 In Defence of NATs Geoff Huston APNIC IEEE Global Internet Symposium, May 2017 The Architecture of the 1990 Internet Dumb Network, Smart Hosts Remove all the functionality from the network apart from forwarding

More information

firewalls perimeter firewall systems firewalls security gateways secure Internet gateways

firewalls perimeter firewall systems firewalls security gateways secure Internet gateways Firewalls 1 Overview In old days, brick walls (called firewalls ) built between buildings to prevent fire spreading from building to another Today, when private network (i.e., intranet) connected to public

More information

Anatomy. 1. NAT Motivation. 2. NAT Operation. - A Look Inside Network Address Translators. Geoff Huston August 2004

Anatomy. 1. NAT Motivation. 2. NAT Operation. - A Look Inside Network Address Translators. Geoff Huston August 2004 Anatomy - A Look Inside Network Address Translators Geoff Huston August 2004 Over the past decade there have been a number IP-related technologies that have generated some level of technical controversy.

More information

CSC 4900 Computer Networks: Security Protocols (2)

CSC 4900 Computer Networks: Security Protocols (2) CSC 4900 Computer Networks: Security Protocols (2) Professor Henry Carter Fall 2017 Chapter 8 roadmap 8.1 What is network security? 8.2 Principles of cryptography 8.3 Message Integrity 8.4 End point Authentication

More information

Distributed Systems. 27. Firewalls and Virtual Private Networks Paul Krzyzanowski. Rutgers University. Fall 2013

Distributed Systems. 27. Firewalls and Virtual Private Networks Paul Krzyzanowski. Rutgers University. Fall 2013 Distributed Systems 27. Firewalls and Virtual Private Networks Paul Krzyzanowski Rutgers University Fall 2013 November 25, 2013 2013 Paul Krzyzanowski 1 Network Security Goals Confidentiality: sensitive

More information

Networking interview questions

Networking interview questions Networking interview questions What is LAN? LAN is a computer network that spans a relatively small area. Most LANs are confined to a single building or group of buildings. However, one LAN can be connected

More information

Load Balancing Technology White Paper

Load Balancing Technology White Paper Load Balancing Technology White Paper Keywords: Server, gateway, link, load balancing, SLB, LLB Abstract: This document describes the background, implementation, and operating mechanism of the load balancing

More information

Virtual Private Networks (VPNs)

Virtual Private Networks (VPNs) CHAPTER 19 Virtual Private Networks (VPNs) Virtual private network is defined as customer connectivity deployed on a shared infrastructure with the same policies as a private network. The shared infrastructure

More information

Chapter 15 IPv6 Transition Technologies

Chapter 15 IPv6 Transition Technologies Chapter 15 IPv6 Transition Technologies Published: April 18, 2006 Updated: November 06, 2006 Writer: Joe Davies 1 Abstract This chapter describes the mechanisms that aid in the transition of Internet Protocol

More information

Request for Comments: 3989 Category: Informational T. Taylor Nortel February Middlebox Communications (MIDCOM) Protocol Semantics

Request for Comments: 3989 Category: Informational T. Taylor Nortel February Middlebox Communications (MIDCOM) Protocol Semantics Network Working Group Request for Comments: 3989 Category: Informational M. Stiemerling J. Quittek NEC T. Taylor Nortel February 2005 Status of This Memo Middlebox Communications (MIDCOM) Protocol Semantics

More information

Mapping of Address and Port (MAP) an ISPs Perspective. E. Jordan Gottlieb Principal Engineer Charter Communications

Mapping of Address and Port (MAP) an ISPs Perspective. E. Jordan Gottlieb Principal Engineer Charter Communications Mapping of Address and Port () an ISPs Perspective E. Jordan Gottlieb Principal Engineer Charter Communications jordan.gottlieb@charter.com Agenda What is? Benefits of in Action Algorithms in Action Deployment

More information

Firewalls, Tunnels, and Network Intrusion Detection

Firewalls, Tunnels, and Network Intrusion Detection Firewalls, Tunnels, and Network Intrusion Detection 1 Firewalls A firewall is an integrated collection of security measures designed to prevent unauthorized electronic access to a networked computer system.

More information

Network Address Translation. All you want to know about

Network Address Translation. All you want to know about Network Address Translation All you want to know about (C) Herbert Haas 2005/03/11 Reasons for NAT Mitigate Internet address depletion Save global addresses (and money) Conserve internal address plan TCP

More information

Use this section to help you quickly locate a command.

Use this section to help you quickly locate a command. iii iv v Use this section to help you quickly locate a command. vi Use this list to help you locate examples you d like to try or look at. vii viii This document describes the various deployment, installation,

More information

Why Firewalls? Firewall Characteristics

Why Firewalls? Firewall Characteristics Why Firewalls? Firewalls are effective to: Protect local systems. Protect network-based security threats. Provide secured and controlled access to Internet. Provide restricted and controlled access from

More information

Internet Engineering Task Force (IETF) Request for Comments: 6146 Category: Standards Track. I. van Beijnum IMDEA Networks April 2011

Internet Engineering Task Force (IETF) Request for Comments: 6146 Category: Standards Track. I. van Beijnum IMDEA Networks April 2011 Internet Engineering Task Force (IETF) Request for Comments: 6146 Category: Standards Track ISSN: 2070-1721 M. Bagnulo UC3M P. Matthews Alcatel-Lucent I. van Beijnum IMDEA Networks April 2011 Stateful

More information

Implementation Guide - VPN Network with Static Routing

Implementation Guide - VPN Network with Static Routing Implementation Guide - VPN Network with Static Routing This guide contains advanced topics and concepts. Follow the links in each section for step-by-step instructions on how to configure the following

More information

NAT Traversal Techniques and Peer-to-Peer Applications

NAT Traversal Techniques and Peer-to-Peer Applications NAT Traversal Techniques and Peer-to-Peer Applications Zhou Hu Telecommunications Software and Multimedia Laboratory Helsinki University of Technology hzhou (at) cc.hut.fi Abstract Network Address Translation

More information

CS 356: Computer Network Architectures. Lecture 15: DHCP, NAT, and IPv6. [PD] chapter 3.2.7, 3.2.9, 4.1.3, 4.3.3

CS 356: Computer Network Architectures. Lecture 15: DHCP, NAT, and IPv6. [PD] chapter 3.2.7, 3.2.9, 4.1.3, 4.3.3 CS 356: Computer Network Architectures Lecture 15: DHCP, NAT, and IPv6 [PD] chapter 3.2.7, 3.2.9, 4.1.3, 4.3.3 Xiaowei Yang xwy@cs.duke.edu Dynamic Host Configuration Protocol (DHCP) Dynamic Assignment

More information

Router and ACL ACL Filter traffic ACL: The Three Ps One ACL per protocol One ACL per direction One ACL per interface

Router and ACL ACL Filter traffic ACL: The Three Ps One ACL per protocol One ACL per direction One ACL per interface CCNA4 Chapter 5 * Router and ACL By default, a router does not have any ACLs configured and therefore does not filter traffic. Traffic that enters the router is routed according to the routing table. *

More information

CONCEPTION ON TRANSITION METHODS: DEPLOYING NETWORKS FROM IPV4 TO IPV6

CONCEPTION ON TRANSITION METHODS: DEPLOYING NETWORKS FROM IPV4 TO IPV6 CONCEPTION ON TRANSITION METHODS: DEPLOYING NETWORKS FROM IPV4 TO IPV6 1 MS. CHAITA JANI, 2 PROF.MEGHA MEHTA 1 M.E.[C.E] Student, Department Of Computer Engineering, Noble Group Of Institutions, Junagadh,Gujarat

More information

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print, ANNEX B - Communications Protocol Overheads The OSI Model is a conceptual model that standardizes the functions of a telecommunication or computing system without regard of their underlying internal structure

More information

UDP NAT Traversal. CSCI-4220 Network Programming Spring 2015

UDP NAT Traversal. CSCI-4220 Network Programming Spring 2015 UDP NAT Traversal CSCI-4220 Network Programming Spring 2015 What is NAT Traversal? NAT traversal means establishing a connection between two hosts when one or both is behind NAT. Many of today s network

More information

Cisco Expressway with Jabber Guest

Cisco Expressway with Jabber Guest Cisco Expressway with Jabber Guest Deployment Guide First Published: Decemeber 2016 Cisco Expressway X8.9 Cisco Jabber Guest Server 10.6.9 (or later) Cisco Systems, Inc. www.cisco.com Contents Preface

More information

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964 The requirements for a future all-digital-data distributed network which provides common user service for a wide range of users having different requirements is considered. The use of a standard format

More information

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols Guide to Networking Essentials, 6 th Edition Chapter 5: Network Protocols Objectives Describe the purpose of a network protocol, the layers in the TCP/IP architecture, and the protocols in each TCP/IP

More information

Computer Security and Privacy

Computer Security and Privacy CSE P 590 / CSE M 590 (Spring 2010) Computer Security and Privacy Tadayoshi Kohno Thanks to Dan Boneh, Dieter Gollmann, John Manferdelli, John Mitchell, Vitaly Shmatikov, Bennet Yee, and many others for

More information

Configure Basic Firewall Settings on the RV34x Series Router

Configure Basic Firewall Settings on the RV34x Series Router Configure Basic Firewall Settings on the RV34x Series Router Objective The primary objective of a firewall is to control the incoming and outgoing network traffic by analyzing the data packets and determining

More information

Characterization and Measurement of TCP. TCP Traversal Through NATs. Firewalls

Characterization and Measurement of TCP. TCP Traversal Through NATs. Firewalls Characterization and Measurement of TCP Traversal Through s and Firewalls, Paul Francis Cornell University IMC 2005 P2P connectivity through s 1.1.1.1 2.1.1.1 Bob 10.1.1.1 10.1.1.2 10.1.1.1 New inbound

More information

Avaya Port Matrix: Avaya Communicator for Microsoft Lync 6.4. Avaya Proprietary Use pursuant to the terms of your signed agreement or Avaya policy.

Avaya Port Matrix: Avaya Communicator for Microsoft Lync 6.4. Avaya Proprietary Use pursuant to the terms of your signed agreement or Avaya policy. Matrix: for Microsoft Lync 6.4 Issue 1 July 28, 2015 Proprietary Use pursuant to the terms of your signed agreement or policy. July 2015 Matrix: for Microsoft Lync 1 ALL INFORMATION IS BELIEVED TO BE CORRECT

More information

[MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions

[MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions [MS-TURNBWM]: Traversal using Relay NAT (TURN) Bandwidth Management Extensions Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open

More information

APP NOTES TeamLink and Firewall Detect

APP NOTES TeamLink and Firewall Detect APP NOTES TeamLink and Firewall Detect May 2017 Table of Contents 1. Overview... 4 1.1 When is TeamLink Used?... 4 1.2 Onsight Connect Solution Architecture... 4 1.3 Three Stages of Onsight Connectivity...

More information

COMPUTER NETWORK SECURITY

COMPUTER NETWORK SECURITY COMPUTER NETWORK SECURITY Prof. Dr. Hasan Hüseyin BALIK (9 th Week) 9. Firewalls and Intrusion Prevention Systems 9.Outline The Need for Firewalls Firewall Characterictics and Access Policy Type of Firewalls

More information

Networking: Network layer

Networking: Network layer control Networking: Network layer Comp Sci 3600 Security Outline control 1 2 control 3 4 5 Network layer control Outline control 1 2 control 3 4 5 Network layer purpose: control Role of the network layer

More information

Configuring NAT for IP Address Conservation

Configuring NAT for IP Address Conservation This module describes how to configure Network Address Translation (NAT) for IP address conservation and how to configure inside and outside source addresses. This module also provides information about

More information

Advanced Security and Mobile Networks

Advanced Security and Mobile Networks WJ Buchanan. ASMN (1) Advanced Security and Mobile Networks Unit 1: Network Security Application Presentation Session Transport Network Data Link Physical OSI Application Transport Internet Internet model

More information

Firewall Control Proxy

Firewall Control Proxy SS8 s, Inc. The (FCP) is an optional component of the switch. Background In order to gain widespread acceptance, Voice over IP technology requires a method to restrict access to specific devices and applications,

More information

Category: Standards Track June Mobile IPv6 Support for Dual Stack Hosts and Routers

Category: Standards Track June Mobile IPv6 Support for Dual Stack Hosts and Routers Network Working Group H. Soliman, Ed. Request for Comments: 5555 Elevate Technologies Category: Standards Track June 2009 Status of This Memo Mobile IPv6 Support for Dual Stack Hosts and Routers This document

More information

Lecture 33. Firewalls. Firewall Locations in the Network. Castle and Moat Analogy. Firewall Types. Firewall: Illustration. Security April 15, 2005

Lecture 33. Firewalls. Firewall Locations in the Network. Castle and Moat Analogy. Firewall Types. Firewall: Illustration. Security April 15, 2005 Firewalls Lecture 33 Security April 15, 2005 Idea: separate local network from the Internet Trusted hosts and networks Intranet Firewall DMZ Router Demilitarized Zone: publicly accessible servers and networks

More information

Configuring Network Address Translation

Configuring Network Address Translation Finding Feature Information, on page 1 Network Address Translation (NAT), on page 2 Benefits of Configuring NAT, on page 2 How NAT Works, on page 2 Uses of NAT, on page 3 NAT Inside and Outside Addresses,

More information

Junos Security. Chapter 4: Security Policies Juniper Networks, Inc. All rights reserved. Worldwide Education Services

Junos Security. Chapter 4: Security Policies Juniper Networks, Inc. All rights reserved.  Worldwide Education Services Junos Security Chapter 4: Security Policies 2012 Juniper Networks, Inc. All rights reserved. www.juniper.net Worldwide Education Services Chapter Objectives After successfully completing this chapter,

More information

Lecture 10: TCP Friendliness, DCCP, NATs, and STUN

Lecture 10: TCP Friendliness, DCCP, NATs, and STUN Lecture 10: TCP Friendliness, DCCP, NATs, and STUN TCP Friendliness Congestion Control TCP dynamically adapts its rate in response to congestion AIMD causes flows to converge to fair goodput But how do

More information

Lecture 12: TCP Friendliness, DCCP, NATs, and STUN

Lecture 12: TCP Friendliness, DCCP, NATs, and STUN Lecture 12: TCP Friendliness, DCCP, NATs, and STUN Congestion Control TCP dynamically adapts its rate in response to congestion AIMD causes flows to converge to fair goodput But how do losses (e.g., bit

More information

Configuring NAT for IP Address Conservation

Configuring NAT for IP Address Conservation This module describes how to configure Network Address Translation (NAT) for IP address conservation and how to configure inside and outside source addresses. This module also provides information about

More information

Overview of TCP/IP Overview of TCP/IP protocol: TCP/IP architectural models TCP protocol layers.

Overview of TCP/IP Overview of TCP/IP protocol: TCP/IP architectural models TCP protocol layers. Overview of TCP/IP 3 Overview of TCP/IP protocol: TCP/IP architectural models TCP protocol layers. 4 2 5 6 3 7 8 4 9 10 5 11 12 6 13 14 7 15 16 8 17 18 9 19 20 10 21 Why TCP/IP? Packet based Provides decentralized

More information

In This Issue. From The Editor

In This Issue. From The Editor September 2004 Volume 7, Number 3 A Quarterly Technical Publication for Internet and Intranet Professionals In This Issue From the Editor...1 Anatomy...2 Letters to the Editor...33 Fragments...36 From

More information

Outline. CS5984 Mobile Computing. Host Mobility Problem 1/2. Host Mobility Problem 2/2. Host Mobility Problem Solutions. Network Layer Solutions Model

Outline. CS5984 Mobile Computing. Host Mobility Problem 1/2. Host Mobility Problem 2/2. Host Mobility Problem Solutions. Network Layer Solutions Model CS5984 Mobile Computing Outline Host Mobility problem and solutions IETF Mobile IPv4 Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Mobile IPv4 1 2 Host Mobility Problem 1/2 Host Mobility

More information

IPv6: An Introduction

IPv6: An Introduction Outline IPv6: An Introduction Dheeraj Sanghi Department of Computer Science and Engineering Indian Institute of Technology Kanpur dheeraj@iitk.ac.in http://www.cse.iitk.ac.in/users/dheeraj Problems with

More information

APP NOTES Onsight Connect Network Requirements

APP NOTES Onsight Connect Network Requirements APP NOTES Onsight Connect Network Requirements May 2017 Table of Contents 1. Overview... 4 1.1 Onsight Connect Solution Architecture... 4 1.2 Three Stages of Onsight Connectivity... 5 2. Web (HTTP/S) Proxy

More information

Outline. CS6504 Mobile Computing. Host Mobility Problem 1/2. Host Mobility Problem 2/2. Dr. Ayman Abdel-Hamid. Mobile IPv4.

Outline. CS6504 Mobile Computing. Host Mobility Problem 1/2. Host Mobility Problem 2/2. Dr. Ayman Abdel-Hamid. Mobile IPv4. CS6504 Mobile Computing Outline Host Mobility problem and solutions IETF Mobile IPv4 Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Mobile IPv4 1 2 Host Mobility Problem 1/2 Host Mobility

More information

Integrated Services. Integrated Services. RSVP Resource reservation Protocol. Expedited Forwarding. Assured Forwarding.

Integrated Services. Integrated Services. RSVP Resource reservation Protocol. Expedited Forwarding. Assured Forwarding. Integrated Services An architecture for streaming multimedia Aimed at both unicast and multicast applications An example of unicast: a single user streaming a video clip from a news site An example of

More information

H3C SecPath Series High-End Firewalls

H3C SecPath Series High-End Firewalls H3C SecPath Series High-End Firewalls NAT and ALG Configuration Guide Hangzhou H3C Technologies Co., Ltd. http://www.h3c.com Software version: SECPATHF1000SAI&F1000AEI&F1000ESI-CMW520-R3721 SECPATH5000FA-CMW520-F3210

More information

IPv6 Transition Technologies (TechRef)

IPv6 Transition Technologies (TechRef) Tomado de: http://technet.microsoft.com/en-us/library/dd379548.aspx IPv6 Transition Technologies (TechRef) Updated: January 7, 2009 IPv6 Transition Technologies Protocol transitions are not easy, and the

More information

Configuring the Cisco IOS DHCP Relay Agent

Configuring the Cisco IOS DHCP Relay Agent All Cisco devices that run Cisco software include a DHCP server and the relay agent software. A DHCP relay agent is any host or IP device that forwards DHCP packets between clients and servers. This module

More information

Network Address Translation

Network Address Translation 10 Network Address Translation This chapter introduces Network Address Translation (NAT) and looks at the issues and challenges involved in making SIP and other Internet communications protocols work through

More information

Introduction to TCP/IP networking

Introduction to TCP/IP networking Introduction to TCP/IP networking TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute TCP : Transmission Control Protocol HTTP, FTP, ssh What is an internet? A set

More information

IP Security. Have a range of application specific security mechanisms

IP Security. Have a range of application specific security mechanisms IP Security IP Security Have a range of application specific security mechanisms eg. S/MIME, PGP, Kerberos, SSL/HTTPS However there are security concerns that cut across protocol layers Would like security

More information

Internet Security: Firewall

Internet Security: Firewall Internet Security: Firewall What is a Firewall firewall = wall to protect against fire propagation More like a moat around a medieval castle restricts entry to carefully controlled points restricts exits

More information

ECE4110 Internetwork Programming. Introduction and Overview

ECE4110 Internetwork Programming. Introduction and Overview ECE4110 Internetwork Programming Introduction and Overview 1 EXAMPLE GENERAL NETWORK ALGORITHM Listen to wire Are signals detected Detect a preamble Yes Read Destination Address No data carrying or noise?

More information

ASA Access Control. Section 3

ASA Access Control. Section 3 [ 39 ] CCNP Security Firewall 642-617 Quick Reference Section 3 ASA Access Control Now that you have connectivity to the ASA and have configured basic networking settings on the ASA, you can start to look

More information

Chapter 9. Firewalls

Chapter 9. Firewalls Chapter 9 Firewalls The Need For Firewalls Internet connectivity is essential Effective means of protecting LANs Inserted between the premises network and the Internet to establish a controlled link however

More information

NAT Tutorial. Dan Wing, IETF77, Anaheim March 21, 2010 V2.1

NAT Tutorial. Dan Wing, IETF77, Anaheim March 21, 2010 V2.1 NAT Tutorial Dan Wing, dwing@cisco.com IETF77, Anaheim March 21, 2010 V2.1 1 Agenda NAT and NAPT Types of NATs Application Impact Application Layer Gateway (ALG) STUN, ICE, TURN Large-Scale NATs (LSN,

More information

[MS-ICE2]: Interactive Connectivity Establishment (ICE) Extensions 2.0

[MS-ICE2]: Interactive Connectivity Establishment (ICE) Extensions 2.0 [MS-ICE2]: Interactive Connectivity Establishment (ICE) Extensions 2.0 Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications

More information

Network Configuration Example

Network Configuration Example Network Configuration Example Configuring Dual-Stack Lite for IPv6 Access Release NCE0025 Modified: 2016-10-12 Juniper Networks, Inc. 1133 Innovation Way Sunnyvale, California 94089 USA 408-745-2000 www.juniper.net

More information

ACS-3921/ Computer Security And Privacy. Chapter 9 Firewalls and Intrusion Prevention Systems

ACS-3921/ Computer Security And Privacy. Chapter 9 Firewalls and Intrusion Prevention Systems ACS-3921/4921-001 Computer Security And Privacy Chapter 9 Firewalls and Intrusion Prevention Systems ACS-3921/4921-001 Slides Used In The Course A note on the use of these slides: These slides has been

More information

Finding Feature Information

Finding Feature Information This module describes how to configure Network Address Translation (NAT) for IP address conservation and how to configure inside and outside source addresses. This module also provides information about

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department for Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Stephan Günther

More information

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin, ydlin@cs.nctu.edu.tw Chapter 1: Introduction 1. How does Internet scale to billions of hosts? (Describe what structure

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information