CCN: Lecture Notes—Module 4 Computer Comm. & Networking 1
TCP/IP and the Internet
Computer networking today is becoming more and more
entwined with the internet. By far the most popular protocol set
in use is TCP/IP (Transmission Control Protocol/Internet
Protocol). It is worth looking at this in more detail.
As TCP/IP existed prior to the OSI, it doesn’t fit exactly into the
defined layers. It does however have a layered structure and fits
pretty much into layer 3 and 4.
Why do we need all this stuff?
Consider sending a message (say email) from your computer to another computer on the other side of the world. All you know is the address of the destination.
• Firstly, you use a mailer program which allows you to type a mail message and specify the address. How do we know the user at the other end has the same mailer program? We don’t and it doesn’t matter. The TCP part of the suite has a mailer that can send and received mail in a standard format that every internet user can read. Your mailer program is just an editor that supplies the message to this mailer.
CNN: Lecture Notes--Module 3
2
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 3
Why do we need all this stuff? (Cont’d)
• This IP packet now has to be sent over the media at your site. To do this we need a link layer to look after the transmission, ie. correct the error etc. This is performed by your local LLC. It is dependant on the type of network at your end.
• The next step depends on what type of media you have at your end, ie. Ethernet, Token Ring etc. The MAC will take care of this and will attach a header, preamble etc to your packet that will allow it to be sent on the local LAN.
• This packet is now sent over your LAN.
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 4
Why do we need all this stuff? (Cont’d)
• Somewhere on your LAN exists a router. This device will received your network packet and disassemble it up to IP level, so it may read the IP address. It will then pack it up again into a form suitable for the next transmission step. This may be simply another hop on a LAN or it may travel on a WAN or public network. In either case, it will be packeted into a form suitable for transmission.
• Eventually, the packet arrives at the LAN of the destination
computer. The router accepts the packet and broadcasts it onto the LAN with the network address of the destination. The destination computer will receive the packet and proceed to unwrap it. Firstly the MAC strips off the network headers, CRC’s etc. The LLC checks it over.
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 5
TCP/IP (Cont’d)
Each layer encapsulates the
output from the layer above.
We have already examined
what a network packet
contains. Let use look at the
rest of the TCP/IP suite.
TCP/IP application level protocols
CNN: Lecture Notes--Module 3
4
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 7
Telnet
•
A TCP helper that enables remote login
•
Port address: 23 (also known as well-known port number)
identify the specific process of application a user
accesses on a host. It is contained in TCP header.
•
Communication is via codes defined by Network Virtual
Terminal (NVT)
•
Command characters are defined by setting the MSB
•
All commands are preceded by FF (IAC)
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 8
Telnet
A request for 8 bit
binary would be
IAC, SB, WILL, ‘0’, SE
An affirmative
response would be
IAC, SB, DO, ‘0’, SE
A refuse response
would be
IAC, SB, DON’T, ‘0’, SE
(NVT)Name Code Meaning
Transmit binary 0 request/accept change to 8-bit binary
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 9
FTP
•
File transfer protocol
•
Port address: well-known port 21
•
A helper to perform file transfers
•
NVT is used to negotiate the transfer
•
The operation depends on the file structure
•
Unstructured, structured
and random access
files are
supported
FTP – unstructured file
CNN: Lecture Notes--Module 3
6
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 11
FTP
•
File transfer protocol
•
A helper to perform file transfers
•
NVT is used to negotiate the transfer
•
The operation depends on the file structure
•
Unstructured, structured
and random access
files are
supported
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 12
FTP – structured file
structured
files consist of a sequence of fixed-sized records
of a defined type. Hence the content of such files are
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 13
FTP
•
File transfer protocol
•
A helper to perform file transfers
•
NVT is used to negotiate the transfer
•
The operation depends on the file structure
•
Unstructured, structured
and random access
files are
supported
FTP – random access file
CNN: Lecture Notes--Module 3
8
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 15
SMTP
• Simple mail transfer protocol (SMTP) transfer mail from one host computer mail system to another. It is not responsible for
accepting/distributing mails from/to local users--Local mail system’s job.
• The native email protocol
• Mail is send via local mail system to SMTP server/client. The client is initiating the transfer of mail to another system while the sever is receiving mail.
• ASCII headers are used • SMTP send NVT like
commands over the TCP connection
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 16
SMTP
When a mail is ready to sent, the local mail system determines from name (recipient) if deposited into local mailbox or send out.
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 17
HTTP
Hypertext transfer protocol. Port address: well-know port 80 Used for access to WWW
HTTP is a request-response protocol.
1. An HTTP client program establishes a TCP connection to an HTTP server program and requests a specific service from the server. 2. The server accept the connection and responds to the client’s
request.
3. Request messages are via a user agent, i.e., a web browser, editor, search engine, etc.
Request
Get: to request data from the sever Head: to ask only for headers Post: to send information to server
HTTP
Most HTTP requests apply to a resource residing on an origin server. When used in the content of WWW, the resource can be accessed via the Internet
WWW sites are addressed by a Uniform Resource Locator (URL)
METHOD://HOST/PATH
METHOD:The protocol used to retrieve the data. FTP, HTTP, TELNET, gopher
HOST: Computer address usually is stored as an alias often starting with www.
CNN: Lecture Notes--Module 3
10
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 19
HTTP—Web page
Web pages are static, dynamic or active
Static page is set by the creator and cannot be altered by the user. Hypertext Markup Language (HTML) is normally used to create the page layout.
HTML uses tags to convey the markup of all text, graphics and links. Eg.
<B>Hello there</B> will print bold text
Hello there Multimedia search with google
Web browser architecture
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 20
HTTP—Web page (multimedia) search
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 21
HTTP—Dynamic and active pages
Dynamic pages
The document served will vary depending on the request given
They are usually created using a Common Gateway Interface (CGI) script. This script is run at the server site so the browser needs no knowledge of its syntax.
Active pages
Often we need to execute a program at the client site. This might be to display animated graphics, calculators etc.
Java is often used as a language to do this. The code binary is downloaded to the client where it is executed.
Java consists of a programming language, runtime environment and class library. It is object oriented and C++ like.
Transmission Control Protocol (TCP)
Examination of the packet header will give an insight to the operation of the TCP segment.
CNN: Lecture Notes--Module 3
12
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 23
TCP—header
Sequence number: Sequence number of the first data octet in this segment. When a SYN flag is set, this is the initial sequence number (ISN). TCP is stream oriented, ie. a sequence number applies to the first octet of data in the segment. If a segment had 500 octets and its sequence number was 2000 then the next segment would have sequence number 2500.
Acknowledgement number:Contains the sequence number of the next
segment to be received.
Data offset:Number of 32 bit words in the header.
Reserved:Reserved for future use.
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 24
TCP—header
Flag: (if set to 1, it means)
URG Urgent pointer field significant ACK Acknowledge field significant PSH Push function
RST Reset the connection
SYN Synchronise the sequence numbers FIN No more data
Window:Flow control. Contains the number of data octets that sender is willing to accept.
Checksum:The one’s complement of the sum modulo 216-1 of all the 16 bit
words in the segment plus a pseudo header. Reference WWW
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 25
TCP—header
Urgent pointer:point to the octet after any urgent data. So the amount of urgent data can be measured.
Options:Maximum segment size.
Internet Protocol (IP)
CNN: Lecture Notes--Module 3
14
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 27
Internet Protocol (IP) (Cont’d)
Total length:Length of entire datagram in octets.
Identification:A sequence number combined with the source and destination addresses and protocol which makes this datagram totally unique. Determine next header in the packet after IP header
Flags:Only 2 defined.
More bit --- used for fragmentation.
Don’t fragment bit --- prevents fragmentation.
Fragment offset:Describes where this fragment belongs in the original datagram. Measured in 64 bit units.
Data:in octets, not greater than 65,535 octets
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 28
Internet Protocol (IP) (Cont’d)
Time to live:Specify how long, in seconds, a datagram is allowed to remain in the Internet. How many router hops this datagram will live for.
Protocol:Shows what higher level protocol is to receive this datgram at he receiving end. Determine next header in the packet after IP header
Header checksum:The 16 bit ones complement addition of all 16 bit words in the header. It is recalculated at each router as some header fields (such as time to live) may change.
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 29
Internet Protocol (IP) (Cont’d)
Destination address:IP address of destination.
Options+padding:Contains user options plus padding to ensure header is a multiple of 32 bits.
Data:no more than 65,535, octets.
Network addresses
If networks are to be connected together then unique addresses of all nodes must be employed. The Internet Protocol addresses perform this function.
• Each address is a 32 bit number (IPv4 address)
CNN: Lecture Notes--Module 3
16
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 31
Network addresses
A Class A address begins with a decimal number ranging from 0 to 127. A Class B address begins with a decimal number ranging from 128 to 191. A Class C address begins with a decimal number ranging from 192 to 223.
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 32
Network addresses
• These difference classes of LAN’s allow more efficient use of the addresses.
• A large LAN would be assigned to class A giving it up to
2
24possible node address. (There are a maxmum of 27=128 Class A networks)• A small LAN would be assigned to class C allowing netID’s for many of these types of LAN.
• Addresses are often expressed in dotted decimal notation. E.g., address of an MEE machine 10000100 11101010 00000111 00101011
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 33
Network addresses
Often subnet masks are employed to speed communication within a large LAN.
• The hostID part is now broken into a subnetID part and a host ID part. • A subnet mask is used to distinguish the 2 parts.
• Each node masks incoming addresses with the mask to identify the hostIDpart of the address.
E.g., A class B site could break itself up into 256 subnets each with 256 nodes by using a subnet mask of 255.255.255.0
• This allows better performance within each smaller separate subnet whilst retaining only one netID for the site.
Non-internet addressing
CNN: Lecture Notes--Module 3
18
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 35
IPv6
The current version of IP is version 4 (IPv4). There are some
limitations becoming apparent with this version. An upgrade
(IPv6) is presently being slowly implemented.
The biggest and most needed change is the size of the IP
address field is now much bigger. This can allow many more
nodes to have unique addresses on the Internet. IPv4 has a 32
bit address giving 2
32possible addresses.
IPv6 has a 128 bit address giving 2
128possible addresses. That
is 340,282,366,920,938,463,463,374,607,431,768,211,456
unique addresses.
This is 1564 addresses for every square metre of the earth!!
The written notation is slight different
6489:0000:0000:0000:73B2:998E:65F7:5708
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 36
IPv6
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 37
Domain names and DNS
People don’t work well with numbers, so IP addresses may also be specified by name.
When names like this are used, a Domain Name Server (DNS), which will be resident for each LAN, will supply the IP address when given the name.
Domain names are broken up logically to try to simplify addressing
Domain names and DNS
IP addresses are administered internationally by the
Network Information Centre (InterNIC). The subnet
addressing is then administered locally.
The IP address is used to locate a node on the larger
network and is encapsulated into an IP packet. Routers
unpack the address to route the packet. At the last router
however the packet is passed onto the LAN. Here a physical
address is used. This is the address of the LAN physical
layer hardware in each node. (Commonly called the ethernet
address)
CNN: Lecture Notes--Module 3
20
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 39
Domain names and DNS
CCN: Lecture Notes—Module 4 Computer Comm. & Networking 40