linux网络编程--网络基础(协议,分层模型结构,协议格式 CS/BS优缺点)

1协议

1.1概念

  • 协议:就是一组规则,是数据传输和数据的解释规则

1.2 典型协议

1.2.1传输层 常见协议有TCP/UDP协议

特点 数据传输方式 类比
面向连接 数据流 大巴车(人满发车,定点发车),打电话(确保信息准确送达)
无连接 数据报 出租车(随到随走),发短信(不是关心对方马上收到)

1.2.2应用层 常见协议有HTTP,FTP协议

中文名称 英文简写 英文全称 端口号
文件传输协议 FTP File Transfer Protocol 21
远程终端协议 Telnet Remote Terminal Protocol 23
简单邮件传输协议 SMTP Simple Mail Transfer Protocol 25
简单文件传输协议 TFTP Trivial File Transfer Protocol 69
超文本传输协议 HTTP Hypertext Transfer Protocol 80
安全套接层超文本传输协议 HTTPS Hypertext Transfer Protocol over Secure Socket Layer 443
域名服务协议 DNS Domain Name Service

1.2.3网络层 常见协议有IP,ICMP,IGMP协议

中文名称 英文简写 英文全称
互联网协议 IP Internet Protocol
地址解析协议 ARP Address Resolution Protocol
反向地址转换协议 RARP Reverse Address Resolution Protocol
路由信息协议 RIP Routing Information Protocol
互联网控制报文协议 ICMP Internet Control Message Protocol
以太网协议 Ethernet Ethernet

1.2.4 网络接口层 常见协议有APP,RARP协议

中文名称 英文简写 英文全称
逻辑链路控制协议 LLC Logical Link Control
多路访问控制协议 MAC Multiple Access Control
点对点协议 PPP Point to Point Protocol

2分层模型结构

2.1OSI七层模型(物数网传会表应)

linux网络编程--网络基础(协议,分层模型结构,协议格式 CS/BS优缺点)_第1张图片

number 模型 功能
1 物理层 比特流传输
2 数据链路层 网络控制、链路纠错
3 网络层 寻址,路由
4 传输层 建立主机端到端的连接
5 会话层 建立、维护和管理会话
6 表示层 格式转化,加密解密
7 应用层 提供应用程序间通信

2.2TCP/IP四层模型(网网传应)

linux网络编程--网络基础(协议,分层模型结构,协议格式 CS/BS优缺点)_第2张图片

  • 在TCP/UDP四层模型应用层以下就是内核部分,系统自己封装

2.3网络通信过程

  • 发送端先将数据封装应用层-》传输层->网络层-》链路层
    linux网络编程--网络基础(协议,分层模型结构,协议格式 CS/BS优缺点)_第3张图片
  • 然后将整体封装好的数据通过网络发送
    linux网络编程--网络基础(协议,分层模型结构,协议格式 CS/BS优缺点)_第4张图片
  • 接受端接受数据 然后开始解从链路层-》网络层-》传输层-》应用层,最后得到数据

2.4结论

  • 数据在没有封装之前是不能在网络中传递

3协议格式

3.1数据包封装

linux网络编程--网络基础(协议,分层模型结构,协议格式 CS/BS优缺点)_第5张图片

3.2以太网帧格式

3.3IP段格式

  • 版本:IPV4 IPV6
  • TTL(生存时间)是设置数据包在路由节点中跳转的上限,每经历一个节点 该值-1当减为0的路由,有义务将数据丢弃。
  • 源IP:32位四字节
    • 人类看到:192.1.68.608(点分十进制 IP地址string类型)
    • 电脑中的:进程网络字节数
  • 目的IP:32位四字节
  • 标志位:SYN,ACK,FIN-----

linux网络编程--网络基础(协议,分层模型结构,协议格式 CS/BS优缺点)_第6张图片

3.4UDP数据报格式

  • 16位 源端口号
    • 大小:2^16=65536 最大描述65535
  • 16位 目的端口号
    linux网络编程--网络基础(协议,分层模型结构,协议格式 CS/BS优缺点)_第7张图片
  • IP地址:可以在网络环境中,唯一表示唯一主机
  • 可以在网络的一台主机上,唯一的标识一个进程
  • IP+端口:可以在网络环境中,唯一的标识一个主机中的一个进程

3.5TCP数据端格式

  • 16位 源端口号
    • 大小:2^16=65536 最大描述65535
  • 16位 目的端口号
  • 32序号
  • 32确认序号
  • 6个标志位
  • 16位的窗口大小2^16=65536
    linux网络编程--网络基础(协议,分层模型结构,协议格式 CS/BS优缺点)_第8张图片

4网络应用程序设计

4.1C/S模型(client-server)

4.2B/S模型(browser-server)

4.3优缺点

C/S优点B/S缺点

C/S B/S
缓存大量数据 , 不能缓存大量数据
协议选择灵活 ,严格遵守HTTP
速度块 速度慢

C/S缺点B/S优点

C/S B/S
安全性不好 安全性好
不跨平台 跨平台
开发工作量较大 开发工作量较小

你可能感兴趣的:(网络编程,网络协议)