Upload
maude-fitzgerald
View
258
Download
0
Embed Size (px)
Citation preview
TCP/IP Concepts
Internet 概念
使用 TCP/IP 通訊協定全球性的網路
Internet TCP/IP
UNIX 主機 UNIX 主機
什麼是 TCP/IP ?• Transmission Control Protocol/Internet Protocol• TCP/IP Model
Application Layer
Host-to-Host Transport Layer
Internet Layer
Network Access Layer
Application Layer Data
Header DataTransport Layer
DataHeader HeaderInternet Layer
DataHeader Header Header
Send Receive
Network Access Layer
什麼是 TCP/IP ? (Cont.)
資料打包
Application Layer
Transport Layer
Internet Layer
Network Access Layer
messageUDPstream
segment
datagram
frame
TCP
packet
datagram
frame
資料結構
什麼是 TCP/IP ? (Cont.)
TCP/IP 協定 v.s.OSI 協定
OSI Reference Model TCP/IP Conceptual Layers
7
6
5
4
3
2
1
Application
Presentation
Session
Transport
Network
Data Link
Physical
Application
Transport
Internet
Network
Interface
Ethernet, 802.3,
802.5,FDDI, etc.
TCP/IP Protocol Stack
Application
UDP TCP
Network Interface
Internet
ARP,RARP
ICMP
TCP/IP Protocol Stack
Application Application
Transport Transport
Internet Internet Internet
Network Interface
Network Interface
Network Interface
Host A Host B
Identical message
Identical paclet
Identical datagram
Identical datagram
Identical frame
Identical frame
Physical Net 1 Physical Net 2
Gateway G
TCP/IP Protocol Stack
Application
Transport
Internet
Network Interface
Conceptual Layer
Hardware
Objects Passed Between Layers
Messages or Streams
Transport Protocol Packets
IP Datagrams
Network-Specific Frames
Application Layer 簡介
Application
Transport
Internet
Network Interface
File Transfer -TFTP* -FTP -NFSE-Mail -SMTPRemote Login -Telnet* -rloginNetwork Management -SNMP*
* Used by the router
Transport Layer 簡介
Application
Transport
Internet
Network Interface
Transmission Control Protocol (TCP)
User Datagram Protocol(UDP)
Internet Layer 簡介
Application
Transport
Internet
Network Interface
Internet Protocol ( IP)
Address ResolutionProtocol ( ARP )
Reverse AddressResolution Protocol ( RARP )
Internet Control MessageProtocol ( ICMP )
Network Interface Layer 簡介
Application
Transport
Internet
Network Interface
Ethernet/IEEE802.3
Token Ring/IEEE802.5
FDDI
網路存取層介紹
Physical and Data Link Standards
• Separate physical and data link layers for LAN and WAN
Data Link( frames )
physical( bits,signals,clocking)
802.2 LLC
Ethernet
802.3
802.5
FDDI
Dial onDemand
SDLC HDLC X.25 Link
Frame Relay
ISDN
PPP
V.24 EIA/TIA-232 G.703 V.35EIA/TIA-449 EIA-530 HSSI
LAN Data Link Sublayers
NetworkLLC
Data Link
Physical MAC
Logical Link Control
Media Access Control
MAC Frame 802.2 LLC Packet or Datagram
• LLC refers upward to higher-layer software functions
• MAC refers downward to lower-layer hardware functions
Media Access Control (MAC)
Vendor Code Serial Number
24 bits 24 bits
ROM
RAM
0000.0c 12. 3456
• MAC address is burned into ROM on a network interface card
區域網路的技術
• Ethernet / IEEE802.3
• Token Ring / IEEE802.5
• FDDI
Ethernet / IEEE 802.3
• 網路拓撲 : Bus topology• 存取方法 : CSMA / CD
Physical Layer : Ethernet/802.3
Hub
PC Sun Sun Mac
Host
10BaseT - Twisted Pair
10Base2 - Thin Ethernet10Base5 - Thick Ethernet
Ethernet /802.3 Operation
ApplicationPresentationSessionTransportNetworkData LinkPhysical
ApplicationPresentationSessionTransportNetworkData LinkPhysical
AA BB CC D
D
D
D
B and C B and C
Ethernet / 802.3 Broadcast
ApplicationPresentationSessionTransportNetworkData LinkPhysical
ApplicationPresentationSessionTransportNetworkData LinkPhysical
ApplicationPresentationSessionTransportNetworkData LinkPhysical
ApplicationPresentationSessionTransportNetworkData LinkPhysical
A B C D
Common WAN Technologies
SDLC
HDLCLAPBPPP
X.25Frame RelayISDN
Physical Layer : WAN
DSU/CSU
RS-232V.35X.21HSSIothers
(Modem) DTE
Data Terminal Equipment End of the users device on the WAN link
DCEData Circuit-terminating Equipment End of the WAN providers side of the communication facility
Data Link Layer : WAN Protocols
• SDLC-Synchronous Data Link Control For IBM SNA networks;primary and secondary roles on link
• HDLC-High-level Data Link Control Default for Cisco Router-common WAN data link• LAPB-Link Access Protocol,Balanced DTE-to-DCE data link for x.25;either side initiates a link • Frame Relay-Simplified version of HDLC framing for higher speed,unacknowledged data communications• PPP-Point-to-Point Protocol
Part of TCP/IP stack for WAN links;can support ISDN
(Modem) (Modem)DSU/CSUDSU/CSU
LAN-to-LAN Routing
E1
Routing Table
E0
Host 4
802.3 Net 2,Host 5
Destination Network
Outgoing Interface
1 2 3
E0 T0 E1
802.5 Net 2,Host 5
Token Ring
Host 5
to LANFrom LAN
Network 1T0
Network3
Network2
LAN-to-WAN Routing
Token Ring
Frame
Relay
1.3
2.4
From LAN
to WAN
to LAN
Data
1.3 2.4 Data
1.3 2.4 DataToken Ring
1.3 2.4 Data
1.3 2.4 DataFrame Relay
1.3 2.4 Data
1.3 2.4 DataEthernet
1.3 2.4 Data
Data
A
B
Layer Decapsulation
telnet
Ftp
Smtp
tftp
23 21 25 69
TCP UDP
6 17
IP Packets
Frames
Bits
•A TCP/IP Example
UPPER LAYERS
TRANSPORT
NETWORK
DATA LINK
PHYSICAL
•Port Number
•Protocol Number
•TYPE,SAP,or Control Info
•MAC or WAN addressing
IP 協定介紹
TCP/IP Address Overview
• Unique addressing allows communication between end stations
• Path choice is based upon location• Location is represented by an address
Unix Host Unix Host
Company A Company A
IP Addressing 32 Bits
Network Host
131 . 108 . 122 . 204
8Bits 8Bits 8Bits 8Bits
IP Addresses
Class A:
Class B:
Class C:
N H H H
N N N H
N N H H
N = Network number assigned by NICH = Host number assigned by network administrator
IP Addresses (cont.)
# Bits 1 7 24
0 network # host #
1 0 network # host #
1 1 0 network # host #
Class A:
Class B:
Class C:
1 1 14 16
1 1 1 21 8
Recognizing Classes in IPAddresses (First Octet Rule)
High Order Octet in Address Bits Decimal Class
0 1 - 126 A 10 128 - 191 B 110 192 - 223 C
Broadcast Addresses
131.108.3.255(Directed broadcast)
255.255.255.255(Local network broadcast)
131.108.3.0
131.108.4.0
131.108.2.0
131.108.1.0
VERS HLEN Service Type Total Length
Identification Flags Fragement Offset
Time to Live Protocol Header Checksum
Source IP
Destination IP
IP Option (If Any) Padding
0 4 8 16 19 24 31
IP Datagram
HLEN: IP packet header 長度
Total length: IP packet 總長度 ( 包含表頭和資料區 )
Identification:IP packet 編號
Time to Live:IP packet 在網路上存留時間 ( 以秒為單位 )
Protocol: 上層的協定 17 ==> UDP 6 ==> TCP 1 ==> ICMP
Padding: 補足未滿 32 位元的 IP header
IP Datagram (Cont.)
Protocol Field
TCP UDP
6 17
Transport
Layer
Internet
Layer IP
Protocol
Numbers
Determines destination upper-layer protocol
ARP/RARP 協定介紹
Map IP Ethernet
Local ARP
131.108.3.1 131.108.3.2
I need the Ethernet address of 131.108.3.2
I heard that broadcast,
that’s me. Here is my
Ethernet Address.
IP : 131.108.3.2 = ???
IP: 131.108.3.2 =Ethernet: 0800.0020.1111
Address Resolution Protocol (ARP)
Address Resolution Protocol (ARP)Host Y
Broadcast
ARP Request
Host ZMAC ?
Host Z
Host z
Broadcast
ARP Request
Host ZMAC ?
Host Z
Host Y MAC
ARP Request
Host ZMAC ?
Host Y
Host Y MAC
ARP Request
RouterMAC ?
Router A
Example 1 : TCP/ IP destination local
Example 2 : TCP/ IP destination local not local
• ARP finds the MAC address to use for a data link connection
Reverse ARP (RARP)
Map Ethernet IP ARP and RARP are implemented directly on top of the data link layer
Ethernet = 0800.0020.1111IP = ???
Ethernet=0800.0020.1111IP = 131.108.3.25
What is my
IP address?
I heard thatbroadcast. IPaddress is131.108.3.25
TCP 協定介紹
Transport: 連線建立
RECEIVERSENDER
Connection Established
Synchronize
Negotiate Connection
Synchronize
Acknowledge
Data Transfer
(Send Segments)
Send Segments with Flow Control
RECEIVERSENDER
Transmit
Not Ready
Ready
Resume Transmission
Stop
Go
Buffer full
Process Segments
Buffer OK
TCP Three-Way Handshake/Open Connection
Host B Host A
Receive SYN(seq = x)
Send SYN (seq=y, ack=x+1)
Receove ACK (ack=y+1)
Send SYN (seq = x )
Receive SYN( seq=y , ack=x+1 )
Send ACK (ack = y+1)
TCP Segment 格式
16 32 32 4 6 6 #Bits 16
Source
Port
Dest Sequence Acknowledgment HLEN Reserved Code
Port # # Bits
16 16 16 32
Window Check- Urgent Option Data…..
sum Pointer
TCP Port Numbers
1028 23 ……...
SP DP
Telnet Z
Source Dest …. Port Port Host A Host Z
Dest. port=23Send packet tomy Telnetapplication
TCP Sequence and Acknowledgment Numbers
Source Dest. Sequence Acknowledgment
Port Port # # ...
Source Dest. Seq. Ack.
1028 23 10 1 ...
Source Dest. Seq. Ack.
1028 23 11 2 ...
Source Dest. Seq. Ack.
23 1028 1 11 ...
I just
sent # 10.
I just got #10,
now I need #11.
Port Numbers
F
T
P
T S D T S
E M N F N
L T S T M
N P P P
E
T
Application
Layer
21 23 25 53 69 161
TCP UDP
Port
Numbers Transport
Layer
Currently assigned TCP port numbersDecimal Keyword UNIX Keyword Descretpion015791113151719202123253742435377799395101102103104111113117119129139160-223
TCPMUXRJEECHODISCARDUSERSDAYTIME-QUOTECHARGENFTP-DATAFTPTELNETSMTPTIMENAMESERVRENICNAMEDOMAIN-FINGERDCPSUPDUPHOSTNAMEISO-TSAPX400X400-SNDSUNRPCAUTHUUCP-PATHNNTPPWDGENNETBIOS-SSNReserved
--echodiscardsystatdaytimenetstatqotdchargenftp-dataftptelnetsmtptimenamewhoisnameserverfjefinger-supduphostnamesiso-tsapx400x400-sndsunrpcauthuucp-pathnntp--
ReservedTCP MultiplexorRemote Job EntryEchoDiscardActive UsersDaytimeNetwork status rpogramQuote of the DayCharacter GeneratorFile Transfer Protocol (data)File Transfer ProtocolTerminal ConnectionSimple Mail Transport ProtocolTimeHost Name ServerWho IsDomain Name ServerAny private RJE serviceFingreDevice Control ProtocolSUPDUP ProtocolNIC Host Name ServerIOS-TSAPX-400 Mail ServiceX-400 Mail SendignSUN Remote Procedure CallAuthentication ServiceUCP Pathe ServiceUSENET News Transfer ProtocolPassworkd Generator ProtocolNETBIOS Session Service
Bit (left to right)
TCP Header Code field
Meaning if bit set to 1
URG
ACK
PSH
RST
SYN
FIN
Urgent pointer field is valid
Acknowledgement field is valid
This segment requests a push
Rest the connection
Synchronize sequence numbers
Sender has reaches end of its bye stream
TCP Simple Acknowledgment
Window size = 1
Send 1
Receive ACK 2
Send 2
Receive ACK 3
Send 3
Receive ACK 4
Receive 1
Send ACK 2
Receive 2
Send ACK 3
Receive 3
Send ACK 4
Sender Receiver
TCP Sliding Window
Send 1
Send 2
Send 3
Receive ACK 4
Send 4
Send 5
Send 6
Receive ACK 7
Window size = 3
Receive 1
Receive 2
Receive 3Send ACK 4
Receive 4
Receive 5
Receive 6
Send ACK 7
Sender Receiver
Transport: Windowing
SENDER
SENDER
RECEIVER
RECEIVER
Receive 1Ack2
Receive 2Ack3
Send 1
Send 2
Send 1
Send 2
Send 3
Receive 1Receive 2Receive 3
Ack4
Send 4
. Window size = 1
. Window size = 3
UDP 協定介紹
UDP Segment 格式
Source Destination Length Check- Data…
Port Port sum
# Bits 16 16 16 16
No sequence or acknowledgement fields
A UDP datagram encapsulated in an IP datagram
UDP
HEADER UDP DATA AREA
IP
HEADER UDP DATA AREA
FRAME
HEADER FRAME DATA AREA
Currently assigned UDP portsDecimal Keyword UNIX Keyword Descretpion079111315171937424353676869111123161162512513514525
ECHODISCARDUSERSDAYTIME-QUOTECHARGENTIMENAMESERVRENICNAMEDOMAINBOOTPSBOOTPCTFTPSUNRPC-NTP------
echodiscardsystatdaytimenetstatqotdchargentimenamewhoisnameserverbootpsbootpctftpfjesunrpcntpsnmpsnmp-trapbiffwhosyslogtimed-
ReservedEchoDiscardActive UsersDaytimeWho is up or NETSTATQuote of the DayCharacter GeneratorTimeHost Name ServerWho IsDomain Name ServerBootstrap Protocol ServerBootstrap Protocol ClientTrivial File TransferSUN Microsystems RPClNettwork Time ProtocolSNMP net monitorSNMP trapsUNIX comsatUNIX rwho daemonSystem logTime daemon