网络编程part3

数据封包和拆包
每次进行send和recv都会进行一次封包和拆包

每次传输的总数据长为1500字节

我们用的以太v2版本

MAC地址     六个字节   

IP头的格式?!
     默认二十个字节      可以带选项变大
计算机网络---->4.2.5    图-4.13

(3字节)标志:   MF      = 1   表示后面还有分片的数据报
          DF      后面不能分片     只有DF = 0 的时候后面才可以分片

              TTL:    ----  在找网址的时候查找的次数


TCP层
    默认二十个字节   但也可以带选项会变大
sequence number   会记录发送的次数
acknowledgment  number  会记录应答的地方编号

TCP flag   ------> 计算机网络  5.5   图-5.14

紧急URG  (U) 
    因为tcp是流式套接字,正常顺序发送的是1 2 3 但可以让3是紧急数据
尽快传输(相当于高优先级的数据)

确认ACK ack = 1 时 确认好字段才有效。

推送PSH    担当两个应用进程进行交互式通信时。发送方置1并且发送报文段。

复位RST   当RST  = 1 时,表示TCP连接中出现严重差错,必须释放链接,然后再重新建立链接,

同步SYN   当SYN = 1 而 ASK= 0 时,表明这是一个链接请求报文段。
        然后转换SYN = 1 和 ASK = 1.

终止FIN   用来释放一个链接。当    FIN = 1 时说明发送方已经发送完毕数据。

UDP协议也是传输层协议,他是无连接不保证可靠的协议,


常用网络测试工具


secure crt         //windows软件    
sudo ufw disable/enable             防火墙关闭/打开
sudo apt-get install openssh-server openssh-client     安装用于远程登陆的必备软件


sudo passwd    修改linux客户端密码

sudo apt-get install wireshark    网络抓包工具   只有网络设备闭上有数据的收发                             就会放在这里。

sudo wireshark   使用抓包工具

{观察三次握手和四次挥手}
--------------------------------------------------------------------


   URF    统一资源定位符
(应用程协议)HTTP    超文本传输协议       基于   TCP连接 
   HTML    超文本标记语言 ----> 不止有字符串 还有二进制文件。
    eg:   Word 文本


get   ------>请求行
Host : 被请求的主机
User - Agent :  用户代理  //浏览器
Accept:   可以接收的数据类型
Accept-Language: 可接收语言
Accept-Encoding :  加密
Connection:              连接方式: 长连接和短链接

相关推荐

  1. 网络编程part3

    2024-07-17 06:16:05       22 阅读
  2. 网络编程part2

    2024-07-17 06:16:05       21 阅读
  3. 网络编程学习part1

    2024-07-17 06:16:05       23 阅读
  4. Python3-Cookbook(第九章) - 元编程Part3

    2024-07-17 06:16:05       20 阅读
  5. 网络编程 day3

    2024-07-17 06:16:05       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 06:16:05       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 06:16:05       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 06:16:05       57 阅读
  4. Python语言-面向对象

    2024-07-17 06:16:05       68 阅读

热门阅读

  1. linux-arm ubuntu18.04 qmqtt5.12.6 编译部署

    2024-07-17 06:16:05       25 阅读
  2. go面试题 Day3

    2024-07-17 06:16:05       25 阅读
  3. MySQL零散拾遗(二)

    2024-07-17 06:16:05       25 阅读
  4. chrome扩展清除指定站点缓存chrome.browsingData.remove

    2024-07-17 06:16:05       28 阅读
  5. linux中导出sql脚本

    2024-07-17 06:16:05       21 阅读
  6. git 提交远程仓库 方式

    2024-07-17 06:16:05       27 阅读
  7. 热修复的原理

    2024-07-17 06:16:05       22 阅读
  8. Springboot 3.x - Reactive programming (2)

    2024-07-17 06:16:05       25 阅读
  9. C++基础语法:STL之容器(1)--容器概述和序列概述

    2024-07-17 06:16:05       31 阅读
  10. 【前端】原生实现图片的放大与缩放

    2024-07-17 06:16:05       22 阅读