Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
On Friday 05 December 2003 12:12 am, Joshua Banks wrote: I'll do some more research on IP to get a better understanding. You might want to get a copy of the late, great W. Richard Steven's TCP/IP Illustrated, Vol. 1 (ISBN 0-201-63346-9) to help your research. -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Friday 05 December 2003 05:39, Joshua Banks wrote: Hello, I thought for any type of IP packet to go out onto the internet Zone (passed the local default gateway) that the packet needed to use either TCP or UDP to accomplish transportation? Layer 3: IP - The protocol used to transport arbitrary packest from one endpoint to another endpoint. The endpoints are specified as IP numbers. The internet is mainly built around this protocol, with all routers knowing how to reach any given IP. Most everything transported on the internet is some form of IP. ICMP - This is a protocol with many of the properties of a layer 4 protocol, but as it is an integral part of IP it is implemented as a layer 3. ICMP used the standard IP header, and includes an additional type field (e.g. echo request and echo reply used for ping) + data relevant to the icmp type. ICMP is sort of a helper protocol, with which machines with an IP can transmit information in between each other in order to notify of events or request changes in the way IP is treated. Layer 4: TCP - A protocol that adds ports to IP's endpoint definition, support for streams (packet order is consistent) and delivery-guarantees (you know whether a packet has reached its destination). This protocol is built on top of IP, and the IP part is used to transport data from ip to ip. UDP - A protocol that also adds ports to IP's endpoint definition. Again, this protocol uses the IP part for transportation in between machines, and when a packet reaches the machine an IP belongs to the ports are used to further route the packet to the correct application. A typical traceroute happens as follows: A wants to traceroute E. In between them you have B, C and D. A sends a UDP (yes UDP is what default traceroutes use) packet to E, with a TTL (Time To Live) value of 1. B receives this packet, and sees that it has travelled TTL machine-machine hops. It then drops the packet as the TTL is exceeded, and sends an icmp ttl-exceeded back to A, including a specification of which packet it dropped. A now resends the UDP packet, this time with a TTL of 2. The packet travels to C this time, and again a ttl-exceeded icmp is sent back. This continues until the UDP packet actually reaches E. While this happens, the traceroute application shows the IPs of the machines it receives ttl-exceeded ICMPs from, and you'll get a nice map of how traffic *from A to E* travels. You still can't know how traffic from E to A travels, as that can be a totally different path (async routing), although in many cases it is the same. As others mentioned, there are several layer 3 and layer 4 protocols besides these mentioned here. Google for OSI Layer and you'll find it. - --Erik -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/0I3Mds9m9uhAobARAqu/AKCVV1DUA7Q9qeP1jrTFOA7Z4zn8vACgwZyi AUVj39Aj3KeOp7uKe3mqxSA= =VOr6 -END PGP SIGNATURE- -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
--- David Mallwitz [EMAIL PROTECTED] wrote: On Friday 05 December 2003 12:12 am, Joshua Banks wrote: I'll do some more research on IP to get a better understanding. You might want to get a copy of the late, great W. Richard Steven's TCP/IP Illustrated, Vol. 1 (ISBN 0-201-63346-9) to help your research. Thanks David, I've been looking at this book online and it looks perfect. Thanks for the advice. JBanks __ Do you Yahoo!? Free Pop-Up Blocker - Get it now http://companion.yahoo.com/ -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
--- Erik S. Johansen [EMAIL PROTECTED] wrote: ICMP - This is a protocol with many of the properties of a layer 4 protocol, but as it is an integral part of IP it is implemented as a layer 3. ICMP used the standard IP header, and includes an additional type field (e.g. echo request and echo reply used for ping) + data relevant to the icmp type. ICMP is sort of a helper protocol, with which machines with an IP can transmit information in between each other in order to notify of events or request changes in the way IP is treated. This helps my understanding allot better and also clarifies that ICMP is a layer 3 protocol not layer 4. Your statements also back what others have said so far. Thanks. I'm studying for a Cisco exam and I want to make sure that I understand every area covered within the exam. This is just one of those grey area's for me. A typical traceroute happens as follows: A wants to traceroute E. In between them you have B, C and D. A sends a UDP (yes UDP is what default traceroutes use) packet to E, with a TTL (Time To Live) value of 1. B receives this packet, and sees that it has travelled TTL machine-machine hops. It then drops the packet as the TTL is exceeded, and sends an icmp ttl-exceeded back to A, including a specification of which packet it dropped. A now resends the UDP packet, this time with a TTL of 2. The packet travels to C this time, and again a ttl-exceeded icmp is sent back. This continues until the UDP packet actually reaches E. While this happens, the traceroute application shows the IPs of the machines it receives ttl-exceeded ICMPs from, and you'll get a nice map of how traffic *from A to E* travels. You still can't know how traffic from E to A travels, as that can be a totally different path (async routing), although in many cases it is the same. This also clears up some confusion as well. I understand how ping and traceroute work as you described for the most part. My confusion was in the fact that I remember seeing (maybe Win95 or 98) using tcp when either ping'ing or tracert'ing. This isn't true of Win2k or XP. Don't have Win98 or 95 to test with though. As well, when I further researched ping on linux via Ethereal I noticed that it infact uses Plain vanillia ICMP, but when traceroute'ing it uses UDP unless otherwise told by using the -I option. man traceroute gave me all the info that I needed. So, all in all, thanks for your input and everyone elses. Just to clarify: So when I'm using ipsec/vpn ESP/IP=50 between two endpoints all the data that is sent after authenticating (IKE UDP 500) and bringing up the vpn tunnel is encapsulated/encrypted in IP 50 packets and its upto the vpn gateways to implement a solution for IP 50 packets that get lost or corrupted in transit? Where, (not using ipsec as an example) if you were using TCP, it would tell you to resend if the packet wasn't received or corrupted in transit. Just trying to get a better understanding of how error handling would be handled when strictly using IP type protocols for data transmission. I would assume that this is like UDP or TCP in that it is up to the application or transmitting host (or both) to know or have programmed knowledge of how to correct errors that happen in transit?? I guess the other thing that I'm trying to understand is what are the benifits of using a IP protocol that doesn't use udp or tcp when transmitting data acrossed the internet? Less overhead because its connectionless with best effort delivery like UDP but don't seem to be port/socket specific but raw protocol specific. Kind of a grey area still. But I feel that I'm getting a better understanding now. Thanks, Joshua Banks __ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/ -- [EMAIL PROTECTED] mailing list
[gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
Hello, I thought for any type of IP packet to go out onto the internet Zone (passed the local default gateway) that the packet needed to use either TCP or UDP to accomplish transportation? I always seem to come up with the weirdest questions that I never see other people ask. Oh well.. I'll take that as a good thing. Heh.. :P This has actually been a source of unanswered confusion for some time now and I just forget to ask. Using the 7 layer OSI model in my explanations below. For some reason I always assumed that for anytype of IP packet to be routed out to the internet that you needed a Layer 4 helper (TCP or UDP) to acheive the transport? Is that true or can just IP layer 3 protocols treverse the internet with out the need for a Layer 4 transport helper? Take ICMP for example (a ping). This is a Layer 3 protocol. Now, I thought that windows pc's used tcp/icmp to transport pings or tracert's and linux/unix (to include Cisco routers) pc's used udp/icmp to transport pings or traceroute's. After running Ethereal and watching a packet dump in real time, I only saw ICMP being used and NO UDP or TCP. Is ethereal missing something or am I? If some types of IP packets don't need Layer 4 transport helpers like Tcp or Udp then what are some examples (or types of apps) that utilize only IP, and still get from point A to point B without the help of Tcp or Udp. Thanks, Joshua Banks __ Do you Yahoo!? Free Pop-Up Blocker - Get it now http://companion.yahoo.com/ -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
TCP and UDP are only two examples of transport protocols. ICMP sits on top of IP as do other protocols such as AH, ESP, GRE. Joshua Banks wrote: Hello, I thought for any type of IP packet to go out onto the internet Zone (passed the local default gateway) that the packet needed to use either TCP or UDP to accomplish transportation? I always seem to come up with the weirdest questions that I never see other people ask. Oh well.. I'll take that as a good thing. Heh.. :P This has actually been a source of unanswered confusion for some time now and I just forget to ask. Using the 7 layer OSI model in my explanations below. For some reason I always assumed that for anytype of IP packet to be routed out to the internet that you needed a Layer 4 helper (TCP or UDP) to acheive the transport? Is that true or can just IP layer 3 protocols treverse the internet with out the need for a Layer 4 transport helper? Take ICMP for example (a ping). This is a Layer 3 protocol. Now, I thought that windows pc's used tcp/icmp to transport pings or tracert's and linux/unix (to include Cisco routers) pc's used udp/icmp to transport pings or traceroute's. After running Ethereal and watching a packet dump in real time, I only saw ICMP being used and NO UDP or TCP. Is ethereal missing something or am I? If some types of IP packets don't need Layer 4 transport helpers like Tcp or Udp then what are some examples (or types of apps) that utilize only IP, and still get from point A to point B without the help of Tcp or Udp. Thanks, Joshua Banks __ Do you Yahoo!? Free Pop-Up Blocker - Get it now http://companion.yahoo.com/ -- [EMAIL PROTECTED] mailing list -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
On Thu, 2003-12-04 at 22:39, Joshua Banks wrote: Hello, I thought for any type of IP packet to go out onto the internet Zone (passed the local default gateway) that the packet needed to use either TCP or UDP to accomplish transportation? It is the overway around...TCP and UDP need IP to transverse the internet. The IP header lets the network know how to get from one point to another by looking at the destiniation IP address, and the receiving endpoint will know who sent the packet by the source address, so that it can respond if it wishes to. Inside the IP header is a protocol field, this field lets the receiving end how to interpert the remainder of the packet and act accordingly. Some common protocol numbers in decimal. 1 - ICMP 6 - TCP 17 - UPD 47 - GRE Check out RFC 791 for more details. -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
On Friday 05 December 2003 12:39, Joshua Banks wrote: For some reason I always assumed that for anytype of IP packet to be routed out to the internet that you needed a Layer 4 helper (TCP or UDP) to acheive the transport? Is that true or can just IP layer 3 protocols treverse the internet with out the need for a Layer 4 transport helper? Routers don't care about anything other than IP (L3) unless doing packet filtering. Take ICMP for example (a ping). This is a Layer 3 protocol. Now, I thought that windows pc's used tcp/icmp to transport pings or tracert's and linux/unix (to include Cisco routers) pc's used udp/icmp to transport pings or traceroute's. ICMP is a Layer 4 protocol. There is no such thing as tcp/icmp or udp/icmp. Some implementations of tracert will use udp packets instead of icmp, however. If some types of IP packets don't need Layer 4 transport helpers like Tcp or Udp then what are some examples (or types of apps) that utilize only IP, and still get from point A to point B without the help of Tcp or Udp. If a packet has an IP header it might get to point B but there are no guarantees. It's up to the layer 4 protocol implementation to deal with this (or not). Jason -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
On Thu, 2003-12-04 at 21:39, Joshua Banks wrote: Hello, After running Ethereal and watching a packet dump in real time, I only saw ICMP being used and NO UDP or TCP. Is ethereal missing something or am I? If some types of IP packets don't need Layer 4 transport helpers like Tcp or Udp then what are some examples (or types of apps) that utilize only IP, and still get from point A to point B without the help of Tcp or Udp. It's been awhile since I studied this in depth, but basically, IP and ICMP are the protocols that are routed throughout the Internet. A basic router that only cares about forwarding the IP datagram on will just look at the IP header and will not care about the TCP or UDP headers within the IP datagram. It is only once you start wanting to differentiate based upon what is being routed, that the routers start to look at the protocol headers in the IP datagram that they are transporting. Yes, it is possible to design another layer 4 protocol to reside on top of IP and have it routed. However, I am not aware of any that have been created and placed into use. (I'm sure that it has probably been done, I'm just not aware of it) Regards, Paul -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
On Thu, Dec 04, 2003 at 07:39:27PM -0800, Joshua Banks wrote: Take ICMP for example (a ping). This is a Layer 3 protocol. Now, I thought that windows pc's used tcp/icmp to transport pings or tracert's and linux/unix (to include Cisco routers) pc's used udp/icmp to transport pings or traceroute's. Nope. Take a look at /usr/include/netinet/in.h. This lists a lot of the 'assigned numbers' of the general internet protocol. The first enum in there is the list of IPPROTO_* values that define the various protocols that operate on top of IP. These include ICMP(1), TCP(6), UDP(17), Multi- cast Transport Protocol(92), IP over IP tunnelling(4), RSVP(46), and many others, most of which you don't have to worry about unless you're building high-end routers and gateways. After running Ethereal and watching a packet dump in real time, I only saw ICMP being used and NO UDP or TCP. Is ethereal missing something or am I? If some types of IP packets don't need Layer 4 transport helpers like Tcp or Udp then what are some examples (or types of apps) that utilize only IP, and still get from point A to point B without the help of Tcp or Udp. Most of the other protocols are either very low-level (like ICMP), restricted to communications between routers and gateways (like EGP), or dedicated to IPv6 specialized features. In general, the actual sending of packets from one machine to another is done at the IP level; UDP just adds source and destination ports, TCP adds ports and stream functionality, and so on. So an ICMP packet is machine-to-machine, not port-to-port. Then, of course, you have the protocols such as ARP which operate _below_ the IP level right on top of the underlying physical network protocols. ---+--- Bryan Feir VA3GBF|Every man has somewhere in the back of his head Home:[EMAIL PROTECTED] | the wreck of a thing which he calls his | education. -- Stephen Leacock ---+--- -- [EMAIL PROTECTED] mailing list
Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
I not sure how it all goes together, but I do know there are more IP protocols than I first realized. TCP and UDP are two transport protocols over IP and ICMP is a seperate one. There is also AH/IP and ESP/IP used for VPNs (protocol ids of 51 and 50). As I understand it IP is just the addressing system and transport or low level functionallity (TCP, UDP, ICMP, AH, ESP) works under IP (more or less using IP for address and routing). As far as the protocols we are used to seeing (POP3, SMTP, HTTP, ...) are within the application layer (I believe... it been awhile since I've looked at the protocol layers) and require TCP or UDP for transportation. The other protocols seem to have more specific payloads. IP protocols: TCP/IP - Generic payloads with redelivery if errors UDP/IP - Generic payloads with no error checking ICMP/IP - Specific payloads for network information/testing AH/IP - Specific payload; IPsec Authenication Header ESP/IP - Specific payload; Encapsulated Security Payload ... and I'm sure there are more defined out there. I hope this make some sense to you ;) Ron On Thu, 2003-12-04 at 20:39, Joshua Banks wrote: Hello, I thought for any type of IP packet to go out onto the internet Zone (passed the local default gateway) that the packet needed to use either TCP or UDP to accomplish transportation? I always seem to come up with the weirdest questions that I never see other people ask. Oh well.. I'll take that as a good thing. Heh.. :P This has actually been a source of unanswered confusion for some time now and I just forget to ask. Using the 7 layer OSI model in my explanations below. For some reason I always assumed that for anytype of IP packet to be routed out to the internet that you needed a Layer 4 helper (TCP or UDP) to acheive the transport? Is that true or can just IP layer 3 protocols treverse the internet with out the need for a Layer 4 transport helper? Take ICMP for example (a ping). This is a Layer 3 protocol. Now, I thought that windows pc's used tcp/icmp to transport pings or tracert's and linux/unix (to include Cisco routers) pc's used udp/icmp to transport pings or traceroute's. After running Ethereal and watching a packet dump in real time, I only saw ICMP being used and NO UDP or TCP. Is ethereal missing something or am I? If some types of IP packets don't need Layer 4 transport helpers like Tcp or Udp then what are some examples (or types of apps) that utilize only IP, and still get from point A to point B without the help of Tcp or Udp. Thanks, Joshua Banks __ Do you Yahoo!? Free Pop-Up Blocker - Get it now http://companion.yahoo.com/ -- [EMAIL PROTECTED] mailing list signature.asc Description: This is a digitally signed message part
Re: [gentoo-user] Way OT: Doesn't IP need TCP or UDP for transport?
Thanks for all the responses. This has helped allot. I'll do some more research on IP to get a better understanding. Thanks, JBanks __ Do you Yahoo!? Free Pop-Up Blocker - Get it now http://companion.yahoo.com/ -- [EMAIL PROTECTED] mailing list