项目总结笔记-网络

1、TCP/IP五层模型

1.1、网络传输就是依靠着OSI七层模型一层层走
  1. 应用层要和别人建立连接发送数据的话,应用层自己要准备HTTTP协议
  2. 然后去调传输控制层,去三次握手建立连接发送数据包
  3. 所以要调用网络层来确定数据包在哪里发出去,发到那里去
  4. 网络层又要来调链路层,找到下一跳的mac物理网卡地址
    (数据包有两层:外层是mac物理网卡地址,内层是ip地址)

  1. 通过ARP协议知道链路层的mac地址:通过广播mac:FFFF发给路由器,路由器会返回自己的mac地址,然后就知道了路由器的mac

  1. mac地址先通过广播找到路由器,所以mac地址由FFF变为路由器的mac,然后再变成目的主机的mac地址
  2. 所以mac地址一直都在变化
1.2、 OSI:7层模型:应用层,传输控制层,网络层,链路层,物理层(中间3层放在kernal内核,内核向上提供API接口供给应用层来调用,向下管理所有的硬件)
  1. 应用层:浏览器,tomcat,HTTP,SSH,FTP
  2. 传输控制层:TCP(面向连接的,可靠的传输协议),UDP
    1)在这里有一个三个握手的概念:
    2)客户端发送请求连接的syn数据包
    3)服务端返回ack确认(可靠性是通过ack确认机制来实现的和滑动窗口)
    4)客户端发送ack确认(最后这一个ack不是多余的,是为了保证CS端的输入输出都没有问题)
    5)握完手之后,CS给对方开辟缓冲区(窗口)
    1)三次握手是为了确定双方的序列号sequesesNum,从几开始的,后面的数据才能依次排下去
    2)第二个呢:是为了确认双方的缓冲区,窗口的大小,两者要一样才行,如果不一样,按照小的来
    3)第三个:是为了确认发送的最大报文是几个字节1024/2048
    6)四次挥手:
    7)客户端发送fin数据包
    8)服务端ack确认
    9)服务端发fin数据包
    10)客户端ack确认
    11)双方都同意才会断开连接,释放资源
    12)当有乙方不同意时,就不会释放资源
  3. 网络层:IP,ICMP
  4. 链路层,物理层
1.3、扩展:建立完连接后,十年没发送数据包,那连接是有效的么?
  1. 双方都认为是有效的
  2. 但是一旦建立连接,就会发现连接已经没有了
  3. 所以就需要有心跳包,是不是的发送一个请求,证明我还活着
  4. 心跳包就是为了防止超时(建立连接后长时间不通信,就会超时):TCP中的Keep-Alive是心跳检测,为了确保连接还活着,
1.4、扩展:建立连接后,客户端挂了怎么办
  1. 服务器有一个计时器,没收到一次客户端请求,就会复位
  2. 计时器的时间是2个小时,时间过了发送一个心跳包检测报文,发送10次,如果都没有回应,就认为客户端已经挂了,就会关闭连接
1.5、扩展:为什么要四次分手?分手为什么是4次的?
  1. 三次握手是为了建立连接,四次挥手是为了断开连接,释放使用的资源
1.6、计算机中的每个进程已经有Pid了,为什么还要有端口号:
  1. 进程ID号是不固定的,今天是12121,明天就是21212了
1.7、网络层:
  1. ip:主机(192.168.150.11)
  2. netmask:网络掩码,2的8进制位,0~255(255,255,255,0)
  3. gateway:网关(192.168.150.2)就是下一跳
  4. DNS:域名解析(将域名解析成IP)
  5. 本主机所在的局域网的名字:将IP和掩码做与运算(全1得1,有0则0)
  6. 可以得到192.168.150.0(局域网的网络号)那11表示你在这个局域网的主机号(你的主机号)

  1. 所以netmask掩码:和ip就可以确认网络号
  2. 剩下的就是主机号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值