TCP/IP and the Internet

20  Download (0)

Full text

(1)

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.

(2)

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.

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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.

(9)

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.

(10)

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

(11)

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.

(12)

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

(13)

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)

(14)

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.

(15)

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)

(16)

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

(17)

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

(18)

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

32

possible addresses.

IPv6 has a 128 bit address giving 2

128

possible 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

(19)

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)

(20)

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

DNS sever

DNS servers provide name resolution service.

Each subdomain has at least one name server that is

authoritative for that domain.

It maintains complete and accurate information about all the

hosts within its subdomain.

Name servers also have the address of other servers they

can contact in the event they cannot resolve a name locally.

They also have the address of at least one root server, which

Figure

Updating...

References