计算机网络笔记

一、网络层协议

  1. arp协议  :在网络中发送广播,获取某个主机的mac地址
  2. icmp协议:ping 命令就是icmp协议,可以用来测试网络是否通畅,pathping 可以完成的显示经过的路由器
  3. ip协议

              首先是IP数据包格式:

各个字段的含义:

  • 版本:是ipv4还是IP v6
  • 首部长度:首部长度固定部分为20个字节,还有可选部分,但是一般不使用
  • 生存时间:指定了该数据包最多可以经过多少个路由器,当生存时间变为0 时该数据包将被丢弃
  • 协议:协议字段指出给数据将会交给哪个进程
    • 协议号 :ICMP协议 协议号1   IGMP协议 2    TCP 6      UDP 17        IPv6 41           OSPF 89
  • 首部校验和:只是首部参与校验,数据部分不参与校验,判断传输的过程中首部是否发生差错。有错误则直接丢弃。

IP数据包总长度用来个字节来指出,故最长可以有65535个字节,但是数据链路层传输的数据最小46个字节最大1500个字节,因此有可能需要将数据包分片发送。

因此有些黑客就会发送破损的数据包,让计算机等待分片的到来,占用计算机资源。

网络层涉及的一些东西:

  • 通过抓包排除网络故障:当局域网堵塞的时候,就可以抓包分析是否有某个主机不断的发广播,找出设备的ip地址或mac地址
  • 网络畅通的条件:数据包有去有回--因此每个路由器都得知道下一跳给谁,每个设备都得配网关。
  • 使用tracert + 主机ip:可以查看沿途经过哪些路由器
  • 静态路由
    • 需要管理员告诉路由器所有没有直连的网络下一跳给谁
    • 缺点: 适合小规模网络。不能够自动调整路由
  • 动态路由
    • RIP协议 周期性广播路由表 根据跳数最少为最佳 30 秒更新一次路由信息 最大跳数为15

二、传输层:TCP  UDP协议

  • 查看会话:netstat  -n
  • 查看会话所对应的进程: netstat -nb
  • 传输层协议和应用层协议对应的关系:传输层协议  +   端口号    —>   应用层协议
    • HTTP = tcp  + 80
    • https  = tcp  + 443
    • RDP(远程桌面协议) = tcp   + 3389
    • ftp = tcp + 21
    • telnet  = tcp  + 23
  • 服务和应用层协议的关系
    • 计算机开启某个服务就会监听对应的端口,看是否有客户端连接
      • 如web 服务:   tcp   80端口
      • ftp  服务:   tcp 21 端口
    • 客户端使用IP地址定位服务器,使用目标端口定位具体的服务
    • 可以在网卡中设置只开放特定的端口,实现服务器的网络安全

那么TCP 报文格式是怎样的呢?

如图:

源端口、目的端口很显然不用说

序号:指示数据包的第一个字节是所有数据中的第几个字节

确认号:已经确认收到的字节的下一个字节

TCP建立连接的过程:

首先客户机发送连接请求信号:SYN=1,ACK=0,客户机状态变为已发送(SYN-SENT)

服务器收到信号,发送确认信号,服务器状态变成已收到

客户端收到信号,也发送确认信号,此时客户机变成已连接(ESTABLISHED)

服务器收到客户机的确认信号,此时服务器也变成已连接(ESTABLISHED)。

当两者都变成已建立连接状态时就可以进行通信了。

释放TCP连接的过程(四次挥手)

为什么有四次?

简单理解就是:客户端说一次我要断开连接了,服务器收到之后说一次我同意(但是还没有断开,要双方都提出断开连接且都同意才行)

过了一会,服务器终于也说我也要断开连接了,客户端也同意一次。这就总共四次了。

  • 1、客户端发送一个关闭的信号,客户端变成FIN-WAIT-1状态
  • 2、服务端收到客户端关闭信号,发送一个同意关闭的信号,服务端变为CLOSE-WAIT状态。(服务器可能还有一些事情要做,不是立马关闭)
  • 3、客户端收到服务器的同意信号,变成FIN-WAIT-2状态
  • 4、服务器最后事情干完了,也发送一个我要关闭的信号给客户端,服务器变为最后确认状态(LAST-ACK)
  • 客户端收到服务器我要关闭的信号,发送一个我同意的信号。客户端变为TIME-WAIT状态。该状态等两MSL之后客户端自动变成关闭状态,防止服务器没收到我的信号,以便重发。
  • 服务器收到客户端我同意的信号之后,关闭服务。

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值