文章目录
一,国际标准化组织(OSI)参考模型
- OSI 7层模型 依次为 应用层,表示层,会话层,传输层,网络层,数据连接层,物理层
(思科)TCP/IP 4层为 应用层,传输层,网络层,网络接口层(相当于数据连接层与物理层)
(华为)TCP/IP把7层简化为5层为应用层,传输层,网络层,数据连接层,物理层
(一),七层参考模型及功能
1.应用层–网络服务与最终用户的个接口
2.表示层–数据的表示,安全、压缩
3.会话层–建立、管理、中止会话
4.传输层–定义传输数据的协议端口号,以及流控和差错校验(此层为中间层,承上启下,上位应用层,下为网络层)
5.网络层–逻辑地址寻址,不同网络的路径选择
6.数据链层–建立逻辑连接,硬件地址寻址
7.物理层–建立维护断开物理层
- 网络层及以下的通信为点对点通信
传输层的通信为端到端通信
(二),为什么分层?
- 整个流程更加清晰,复杂问题简单化
- 整个流程更加清晰,复杂问题简单化
二,TCP/IP/PDU协议
-
应用层 HTTP FTP HFTP SMTP SNMP DNS
传输层 TCP UDP
网络层 ICMP IGMP IP ARP RARP
(一),TCP传输控制协议
- 面向连接(三次握手,四次挥手)
- 可靠的连接(重传机制)
TCP将报文互粉为较小的片段,称为数据段(按顺序编号),若发送方在规定时间未收到确定,则认为丢失并重新输出。
HTTP :浏览器和web服务器之间的请求和响应的交互
FTP :控制连接FTP服务器
DNS :连接DNS服务器
SMTP :发送邮件
POP3 :收邮件
SSH :远程加密登录
IMTCP:收邮件(下载)
(二),IP网际协议
ARP:在局域网中根据IP地址获取物理地址
RARP :在局域网中通过ARP表根据物理地址请求IP地址
ICMP :验证网络是否畅通
IGMP :主机与组播路由器之间组播通信
(三),UDP 用户数据报协议------传输效率更高
TFTP:于小文件的传输
DNS :解析DNS
RPC :远程过程调用
SNMP):网络设备的管理
NTP :网络时间同步
1,常用端口号大全.
20**** tcp ------------- ftp date
21 ******tcp---------------FtP文件传输协议
22**TCP ------------SSH(远程连接)
22***tcp --------------- SSH安全登录、文件传送(SCP)和端口重定向
23 *** tcp----------------Telnet不安全的文本传送
25 **** tcp----------------SMTP Simple Mail Transfer Protocol (E-mail)
69 **** udp TFTP--------------Trivial File Transfer Protocol
79 **** tcp--------------------- finger Finger
80 **** tcp ---------------------HTtP超文本传送协议(WWW)
88***tcp ------------ Kerberos Authenticating agent
110***tcp --------------POP3 Post Office Protocol (E -mail)
113**tcp --------------ident old identification server system
119tcp ------------NNTP used for usenet newsgroups
220tcp--------------IMAP3 ;
443***tcp---------------HTTPS usecurely transferring web pages
二,传输数据的解封与装封
(一),装封
- 此过程是从上往下,封装在网络编程里面的意思, 当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络,其中每一层对收到的数据都要增加一些首部。
(二),解封
- 此过程是下往上
三,三次握手,四次挥手
(一),三次握手
(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=100(a),并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
(2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack (number )=a+1,随机产生一个值seq=b,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
(3)第三次握手:Client收到确认后,检查ack是否为b+1,ACK是否为301,如果正确则将标志位ACK置为301,ack=b+1,并将该数据包发送给Server,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。
(二),四次挥手
先由客户端向服务器端发送一个FIN,请求关闭数据传输。
当服务器接收到客户端的FIN时,向客户端发送一个ACK,其中ack的值等于FIN+SEQ
然后服务器向客户端发送一个FIN,告诉客户端应用程序关闭。
当客户端收到服务器端的FIN是,回复一个ACK给服务器端。其中ack的值等于FIN+SEQ