TcpIP协议.docx
《TcpIP协议.docx》由会员分享,可在线阅读,更多相关《TcpIP协议.docx(16页珍藏版)》请在冰豆网上搜索。
![TcpIP协议.docx](https://file1.bdocx.com/fileroot1/2023-2/21/3fbcd5da-66da-4c2c-a926-1e10f0857e40/3fbcd5da-66da-4c2c-a926-1e10f0857e401.gif)
TcpIP协议
第1讲Tcp/Ip协议
[本讲的知识要点]
²
(1)TCP/IP协议
²
(2)IP地址
²(3)子网划分
²(3)子网划分
1.1TCP/IP协议简介
TCP/IP(TransmissionControlProtocol/InternetProtocol的简写,中文译名为传输控制协议/互联网络协议)协议是Internet最基本的协议,简单地说,就是由底层的IP协议和TCP协议组成的。
在Internet没有形成之前,各个地方已经建立了很多小型的网络,称为局域网,Internet的中文意义是"网际网",它实际上就是将全球各地的局域网连接起来而形成的一个"网之间的网(即网际网)"。
然而,在连接之前的各式各样的局域网却存在不同的网络结构和数据传输规则,将这些小网连接起来后各网之间要通过什么样的规则来传输数据呢?
这就象世界上有很多个国家,各个国家的人说各自的语言,世界上任意两个人要怎样才能互相沟通呢?
如果全世界的人都能够说同一种语言(即世界语),这个问题不就解决了吗?
TCP/IP协议正是Internet上的"世界语"。
TCP/IP协议的开发工作始于70年代,是用于互联网的第一套协议
1.2人类通讯过程
1.3TCP/IP协议
1.4应用层协议
应用层向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。
远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。
TELNET会话提供了基于字符的虚拟终端。
文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能
Telnet:
提供远程登录(终端仿真)服务,好象比较古老的BBS就是用的这个登陆。
FTP:
提供应用级的文件传输服务,说的简单明了点就是远程文件访问等等服务;
SMTP:
不用说拉,天天用到的电子邮件协议。
TFTP:
提供小而简单的文件传输服务,实际上从某个角度上来说是对FTP的一种替换(在文件特别小并且仅有传输需求的时候)。
SNTP:
简单网络管理协议。
看名字就不用说什么含义了吧。
DNS:
域名解析服务,也就是如何将域名映射城IP地址的协议。
HTTP:
不知道各位对这个协议熟不熟悉啊?
这是超文本传输协议
•端口号
TCP/UDP都使用一个16bit地端口号来表示不同地程序。
1、知名端口:
一般介于1~255之间,例如:
FTP的TCP端口号是21。
2、临时端口,由于客户端对端口号一般并不关心,只需保证唯一就可以了,所以系统一般分配临时端口号
常见服务的端口号
echo7/tcp
echo7/udp
discard9/tcpsinknull
discard9/udpsinknull
systat11/tcpusers#Activeusers
systat11/tcpusers#Activeusers
daytime13/tcp
daytime13/udp
qotd17/tcpquote#Quoteoftheday
qotd17/udpquote#Quoteoftheday
chargen19/tcpttytstsource#Charactergenerator
chargen19/udpttytstsource#Charactergenerator
ftp-data20/tcp#FTP,data
ftp21/tcp#FTP.control
telnet23/tcp
smtp25/tcpmail#SimpleMailTransferProtocol
time37/tcptimserver
time37/udptimserver
rlp39/udpresource#ResourceLocationProtocol
nameserver42/tcpname#HostNameServer
nameserver42/udpname#HostNameServer
nicname43/tcpwhois
domain53/tcp#DomainNameServer
domain53/udp#DomainNameServer
bootps67/udpdhcps#BootstrapProtocolServer
bootpc68/udpdhcpc#BootstrapProtocolClient
tftp69/udp#TrivialFileTransfer
gopher70/tcp
finger79/tcp
http80/tcpwwwwww-http#WorldWideWeb
kerberos88/tcpkrb5kerberos-sec#Kerberos
kerberos88/udpkrb5kerberos-sec#Kerberos
hostname101/tcphostnames#NICHostNameServer
iso-tsap102/tcp#ISO-TSAPClass0
rtelnet107/tcp#RemoteTelnetService
pop2109/tcppostoffice#PostOfficeProtocol-Version2
pop3110/tcp#PostOfficeProtocol-Version3
sunrpc111/tcprpcbindportmap#SUNRemoteProcedureCall
sunrpc111/udprpcbindportmap#SUNRemoteProcedureCall
auth113/tcpidenttap#IdentificationProtocol
uucp-path117/tcp
nntp119/tcpusenet#NetworkNewsTransferProtocol
ntp123/udp#NetworkTimeProtocol
epmap135/tcploc-srv#DCEendpointresolution
epmap135/udploc-srv#DCEendpointresolution
netbios-ns137/tcpnbname#NETBIOSNameService
netbios-ns137/udpnbname#NETBIOSNameService
netbios-dgm138/udpnbdatagram#NETBIOSDatagramService
netbios-ssn139/tcpnbsession#NETBIOSSessionService
imap143/tcpimap4#InternetMessageAccessProtocol
pcmail-srv158/tcp#PCMailServer
snmp161/udp#SNMP
snmptrap162/udpsnmp-trap#SNMPtrap
print-srv170/tcp#NetworkPostScript
bgp179/tcp#BorderGatewayProtocol
irc194/tcp#InternetRelayChatProtocol
ipx213/udp#IPXoverIP
ldap389/tcp#LightweightDirectoryAccessProtocol
https443/tcpMCom
https443/udpMCom
microsoft-ds445/tcp
microsoft-ds445/udp
kpasswd464/tcp#Kerberos(v5)
kpasswd464/udp#Kerberos(v5)
isakmp500/udpike#InternetKeyExchange
exec512/tcp#RemoteProcessExecution
biff512/udpcomsat
login513/tcp#RemoteLogin
who513/udpwhod
cmd514/tcpshell
syslog514/udp
printer515/tcpspooler
talk517/udp
ntalk518/udp
efs520/tcp#ExtendedFileNameServer
router520/udprouterouted
timed525/udptimeserver
tempo526/tcpnewdate
courier530/tcprpc
conference531/tcpchat
netnews532/tcpreadnews
netwall533/udp#Foremergencybroadcasts
uucp540/tcpuucpd
klogin543/tcp#Kerberoslogin
kshell544/tcpkrcmd#Kerberosremoteshell
new-rwho550/udpnew-who
remotefs556/tcprfsrfs_server
rmonitor560/udprmonitord
monitor561/udp
ldaps636/tcpsldap#LDAPoverTLS/SSL
doom666/tcp#DoomIdSoftware
doom666/udp#DoomIdSoftware
kerberos-adm749/tcp#Kerberosadministration
kerberos-adm749/udp#Kerberosadministration
kerberos-iv750/udp#KerberosversionIV
kpop1109/tcp#KerberosPOP
phone1167/udp#Conferencecalling
ms-sql-s1433/tcp#Microsoft-SQL-Server
ms-sql-s1433/udp#Microsoft-SQL-Server
ms-sql-m1434/tcp#Microsoft-SQL-Monitor
ms-sql-m1434/udp#Microsoft-SQL-Monitor
wins1512/tcp#MicrosoftWindowsInternetNameService
wins1512/udp#MicrosoftWindowsInternetNameService
ingreslock1524/tcpingres
l2tp1701/udp#LayerTwoTunnelingProtocol
pptp1723/tcp#Point-to-pointtunnellingprotocol
radius1812/udp#RADIUSauthenticationprotocol
radacct1813/udp#RADIUSaccountingprotocol
nfsd2049/udpnfs#NFSserver
knetd2053/tcp#Kerberosde-multiplexor
man9535/tcp#RemoteManServer
1.5TCP:
传输控制协议
•TCP提供一种面向连接的带确认的可靠的有序的带流控的端到端的数据流服务,TCP传输单位为报文段
•应用数据被分割为TCP认为最适合发送的数据块
•TCP发出一个报文段后启动一个定时器,如超时仍无确认则重发
•TCP收到一个报文段后会返回一个确认
•TCP会保持端到端的首部和数据的检验和
•IP数据报的到达可能是无序的,TCP对收到的数据进行重排序
•IP数据报可能发生重复,TCP会丢弃重复的数据
•TCP提供流量控制,只允许发送端发出接收端可以接受的数据
1.6TCP数据段格式
1.7TCP数据段各字段说明
•端口号:
对应应用进程
•序号:
标识TCP发端向TCP收端发送的数据字节流,表示在这个报文段中的顺序号(字节),达到232-1后又从0开始
•确认号:
序号+1,即要求发端发送下一段
•首部长度:
首部中32位字的数目
•6个标志位
–URG:
紧急指针有效
–ACK:
确认号有效
–PSH:
接收方应尽快将此段交给应用层
–RST:
重建连接
–SYN:
用来发起一个连接
–FIN:
发端完成发送任务
•窗口大小:
窗口的字节数
•检验和:
包括整个TCP报文段
•紧急指针:
仅当URG标志置1时有效
•选项:
最大报文长度、窗口扩大、时间戳等
1.8TCP连接的建立
1.9UDP:
用户数据报协议
•UDP是一个简单的面向数据报的传输协议
•UDP数据报也是被封装成一个IP数据报的
•UDP不提供可靠性,它把应用程序的数据传给IP层转发出去,并不保证数据可以到达目的地
•UDP的可靠性是由其上层保证的
1.10UDP数据报格式
1.11UDP数据报各字段说明
•UDP端口号:
指明应用进程,注意,TCP的端口号由TCP查看,UDP端口号由UDP查看,二者是相互独立的
•长度:
包括首部和数据
•检验和:
包括首部和数据
1.12ARP:
地址解析协议
•ARP为IP地址到对应的硬件地址(MAC地址)之间提供动态映射
1.13ICMP:
Internet控制报文协议
•ICMP用来传递差错报文以及其它需要注意的信息
•ICMP报文可以被IP层或更高层协议使用
•ICMP是在IP数据报内部被传输的
1.14ICMP数据报格式
1.15IP:
网际协议
IP是TCP/IP协议族中最为核心的协议,所有TCP、UDP、ICMP等数据均以IP数据报格式传输,IP是面向无连接的提供不可靠的、尽力而为的不保证送达
无连接:
IP并不维护任何关于后续数据报的状态信息,每个数据报的处理是相互独立的,发送、接收顺序是随意的,每个数据报可以单独选路。
不可靠:
IP不保证数据报能成功地到达目的地,它只提供最好的传输服务,发生错误时,丢弃该数据报,并向源端发ICMP消息。
1.16IP的任务
•定义IP地址:
4字节的接口地址,全球唯一地定义一个网络接口
•定义IP数据报格式
•为IP数据报选路:
路由功能,为要传送的数据报选择最佳传输路径
•转发IP数据报:
传输功能,提供面向无连接的尽力而为的不保证送达
•网络最终能实现什么功能由用户决定,试图通过网络内在智能增强的做法是多余的。
1.17IP数据报格式
1.18IP数据报各字段说明
•版本号:
目前的IPv4为4,IPv6为6
•首部长度:
首部占32位字的数目
•服务类型:
3位优先权,4位TOS(最小时延,最大吞吐量,最高可靠性,最小费用,全0为一般服务),1位未用但必须置0
•总长度:
整个IP数据报的长度,以字节为单位,最大为65535字节,但它在传送时链路层回对它分片,而主机也会对数据报长度加以限制
•标识:
唯一地标识主机发出的每一份数据报,通常每发一份该值加一
•标志:
第1位保留,第2位为不分段位,第3位为0时为最后一个分片
•片偏移:
分片在原始报文中的偏移量
•协议:
根据它可以识别是哪个协议向IP传送数据
•TTL:
设置了数据报可以经过的最多路由器数,每经过一台路由器,该值减1,当该值为0时,数据报被丢弃
•首部检验和:
根据首部计算的检验和,不对数据部分作检验和
•选项:
可变长的选项信息,包括
•安全和处理限制:
用于军事领域
•记录路径:
让每个路由器都留下它的IP地址
•时间戳:
让每个路由器留下它的IP地址和时间
•源站选路:
为数据报指定一系列必须经过的IP地址
•选项很少使用,有些机器和路由器不支持这些选项
1.19IP地址
Ip地址的作用:
定位和区分一台主机
32位IP地址分为4组,每组8位
用十进制表示时用圆点分开,称点分十进制
1.20二进制和十进制的转换
二进制转成十进制采用的是按位展开求和
11111111
1286432168421
十进制转成二进制采用的是除二取余倒叙补零
1.21IP地址的使用范围
Ip地址的组成:
网络位和主机位
几种特殊地址:
1、保留地址:
127.x.x.x安装完TCP/IP协议后,即可获得1个以127开头的IP,可马上PING通。
127.0.0.1即代表自己。
全0不可用A类是1-126
2.主机位全0代表网络号全1是广播地址。
如:
192.168.255.255即向网络号为192.168的网络中的所有主机发广播.
3.局网专用IP:
A类:
10.x.x.xB类:
172.16.x.xC类:
192.168.0.x
1.22子网掩码
除了IP地址外,设备还需要知道有多少位用于网络号,多少位用于主机号,这是通过子网掩码确定的.
子网掩码也是一个32位值,其高位的连续1留给网络号和子网号,余下的0留给主机号
通过子网的划分可以增加网络数,这时候每个子网中的主机数会较少,且会损失一些IP地址
1.23子网划分
子网掩码的作用及特征
子网划分目的是为了隔离广播
方法是从主机位借位给网络位,扩大网络位
1.24子网掩码划分实例
事例,我公司申请c类ip段192.168.0.0/24现要求分成5个子网每个子网20台主机,请算出新的子网掩码?
1、确认子网掩码:
11100000=27+26+25=128+64+32=224
即子网掩码为:
255.255.255.224
2、确认每个子网的IP地址段:
子网一192.168.0.
(1)----192.168.0.(30)
子网二:
192.168.0.(33)----192.168.0.(62)
子网三:
192.168.0.(65)----192.168.0.(94)
子网四:
192.168.0.(97)----192.168.0.(126)
子网五:
192.168.0.(129)----192.168.0.(158)
子网六:
192.168.0.(161)----192.168.0.(190)
1.25合并子网
某公司有4000多台电脑,申请B类地址太浪费,所以就申请了16个C类地址(196.5.16.0/24---196.5.31.0/24),公司不想使用路由器,要把16个C类地址放在一个子网中,请算出新的子网掩码?
答案是:
255.255.240.0