计算机网络学习笔记——常见协议

1. TCP/UDP协议

1. 区别:
① TCP提供面向连接的传输; UDP提供无连接的传输.
② TCP提供可靠的传输(有序,无差错,不丢失,不重复);UDP提供不可靠的传输。
③ TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组; UDP是面向数据报的传输,没有分组开销。
④ TCP提供拥塞控制和流量控制机制; UDP不提供拥塞控制和流量控制机制。
2. 应用:根据上述特点,TCP用途较广,广泛用于文件传输等方方面面,而UDP协议主要应用与实时性要求较高的场合,如直播、视频会议等。
3. 报文格式:
TCP首部格式
在这里插入图片描述
① 源端口和目的端口都占16位,因此端口号最大是65535.
② 序号:当前TCP数据段的第一个字节在整个字节流的相对位置
③确认号:代表接收端希望接收的数据序号,其值为上次接收到数据报的序号+1,当ACK标志位为1时才生效
④数据偏移:代表TCP数据报实际长度
⑤六个标志位,值为1时生效
SYN:同步标志位,用于数据同步;
ACK:确认标值位,其值为1时确认号才有效;
FIN:结束标志位,用于发送端提出断开连接;
URG,为紧急序号,URG=1是紧急指针有效;
PSH,指示接收方立即将数据提交给应用层,而不是等待缓冲区满;
RST,重置连接。
⑥窗口值:表示接收方可以接收的字节数
⑦校验和:用于检验数据完整性,如果出错将请求重传
⑧紧急指针:当URG标志位为1时有效,用于发送紧急数据

UDP首部格式

注意:伪首部仅仅是用于校验,并不会封包发送,另外UDP对于错误的包是直接丢弃,而不会重传。

2. ARP协议

Arp高速缓存,存储IP与Mac地址的映射,每台主机和路由器都有。
数据包在链路层进行封装时,首先将目的IP与源主机的子网掩码相与,判断是否在同一网段。如果在同一网段,则广播发送Arp请求(目的Mac地址全F),目的主机收到后单播返回自己的IP与Mac地址,源主机收到后将其写入自身Arp缓存,并完成链路层数据封装。
如果不在同一网段,则向默认网关求助(每台主机内都有网关的IP地址),单波发送Arp请求给网关并获得其Mac地址,随后将其Mac地址作为目的Mac填入完成数据封装。网关收到数据后解封装到网络层发现目的IP不是自己,首先检查路由表中是否有目的IP,如果有,则向该IP单波发送Arp请求获得其Mac地址,并将其填到目的Mac中完成数据封装,再将数据包路由。如果路由表中没有该IP,则将默认路由作为目的IP重复上一操作。

3. DHCP协议

基于UDP、应用层协议、客户/服务器模式、广播的方式通信
主机获取IP的两种方式
① 静态配置:IP、子网掩码、默认网关
② 动态配置(DHCP服务器配置):IP、子网掩码、默认网关、DNS服务器及其IP
DHCP动态配置IP工作流程

  1. 主机广播DHCP发现报文,服务器获得一个IP地址
  2. 服务器广播DHCP提供报文,服务器拟分配一个IP地址及相关配置,先到先得
  3. 主机广播DHCP请求报文,主机向服务器请求提供IP地址
  4. 服务器广播DHCP确认报文,正式将IP分配给主机

4. ICMP协议

ICMP报文其组成形式为数据加上IP首部形成数据报
本协议支持在主机/路由器上运行
ICMP差错报告报文分类:

  1. 终点不可达(无法交付)
  2. 源点抑制(拥塞导致数据丢弃)
  3. 时间超过报文(路由器收到TTL为0的数据,丢弃该报文并向源点发送时间超过报文/接收端在预期时间内没有收到一个数据报的全部报片,将丢弃获得的部分报片并向源点发送时间超过报文)(具体应用为Traceroute命令,追踪分组从源点到终点的路径,原理:主机发送一连串TTL递增的报文,分别为1,2,3,4…数据报每经过一次路由会减1,等于0时路由器将返回一个时间超过报文,根据这些有序的时间超过报文依次得到路径上的路由器)
  4. 参数问题:路由器/主机收到的报文首部有字段的值不正确时,丢弃该报文并发送参数问题报文。
  5. 改变路由(重定向):路由器向源主机发送,提示其值得更好的路由,改变路由
    ICMP询问报文:
  6. 回送请求和回答报文:主机或路由器向特定目的主机发送询问,收到报文的主机要给源主机/路由器发送ICMP回送回答报文(PING命令)
  7. 时间戳请求和回答报文:请某个主机/路由器回答日期及时间。(用来时钟同步和测量时间)

5. RIP协议

6. OSPF协议

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于 jQuery 的事件,我可以和你分享一些学习笔记。 1. 绑定事件 在 jQuery 中,我们可以通过以下方式来绑定事件: ``` $(selector).event(function(){ // 事件处理程序 }) ``` 其中,`selector` 表示要绑定事件的元素,`event` 表示要绑定的事件类型,比如 `click`、`mouseover` 等等。事件处理程序则是在事件触发时要执行的代码块。 2. 多个事件绑定 我们可以通过 `on()` 方法来同时绑定多个事件: ``` $(selector).on({ event1: function(){ // 事件处理程序1 }, event2: function(){ // 事件处理程序2 } }) ``` 这样,当 `event1` 或 `event2` 中任意一个事件触发时,对应的处理程序都会被执行。 3. 解除事件 如果需要解除某个元素的事件处理程序,可以使用 `off()` 方法: ``` $(selector).off(event); ``` 其中,`event` 表示要解除的事件类型。如果不指定事件类型,则会解除该元素上所有的事件处理程序。 4. 事件委托 在 jQuery 中,我们可以使用事件委托来提高性能。事件委托是指将事件绑定到父元素上,而不是绑定到子元素上,然后通过事件冒泡来判断是哪个子元素触发了该事件。这样,当子元素数量较多时,只需要绑定一次事件,就可以监听到所有子元素的事件。 ``` $(selector).on(event, childSelector, function(){ // 事件处理程序 }) ``` 其中,`selector` 表示父元素,`event` 表示要绑定的事件类型,`childSelector` 表示要委托的子元素的选择器,事件处理程序则是在子元素触发事件时要执行的代码块。 以上是 jQuery 中事件的一些基本操作,希望对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值