网络基础笔记二

1.【ICMP】

1.   ICMP是因特网的标准协议,但ICMP不是高层协议,而是IP层的协议。通常ICMP报文被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。 ICMP允许主机或路由报告差错情况和提供有关异常情况。

2.   ICMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。

3.   ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。

2.【三次握手】accept发生在三次握手之后。
第一次握手:客户端发送syn包(syn=j)到服务器。 
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。 
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。 
三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。

TCP:状态控制码(Code,Control Flag)

标志位字段(U、A、P、R、S、F):占6比特。各 比特的含义如下:

  • URG:紧急比特(urgent),当URG=1时,表明紧急指针字段有效,代表该封包为紧急封包。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据), 且上图中的 Urgent Pointer 字段也会被启用。
  • ACK:确认比特(Acknowledge)。只有当ACK=1时确认号字段才有效,代表这个封包为确认封包。当ACK=0时,确认号无效。
  • PSH:(Push function)若为1时,代表要求对方立即传送缓冲区内的其他对应封包,而无需等缓冲满了才送。
  • RST:复位比特(Reset) ,当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
  • SYN:同步比特(Synchronous),SYN置为1,就表示这是一个连接请求或连接接受报文,通常带有 SYN 标志的封包表示『主动』要连接到对方的意思。。
  • FIN:终止比特(Final),用来释放一个连接。当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭连接了"。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,"就知道可以断开连接了"。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!

3.

ICMP是网络层,UDP是传输层,FTP和HTTP是应用层 目前VPN隧道协议主要有4种:点到点隧道协议PPTP、第二层隧道协议L2TP、网络层隧道协议IPSec以及SOCKS v5协议。其中,PPTP和L2TP工作在数据链路层,IPSec工作在网络层,SOCK v5工作在会话层。

时间: 2024-10-27 12:52:50

网络基础笔记二的相关文章

网络基础笔记——OSI七层模型

OSI七层模型 由于整个网络连接的过程相当复杂,包括硬件.软件数据封包与应用程序的互相链接等等.如果想要写一支将联网全部功能都串连在一块的程序,那么当某个小环节出现问题时,整只程序都需要改写.所以我们将整个网络分成数层,每层都有自己独立的功能,而且每层的代码都可以独立撰写,因为相互之间不会干扰.如此一来,当某个小环节出现问题时,只要将该层的代码改写即可.并且这样可以让整个网络层次更加的清晰. 在网络上传输信息就像是一个发包裹的过程,从己方的应用程序开始往第七层的包裹里塞数据,再依次塞到第一层的包

网络基础(二)

网络基础(二) 配置网络高级命令nmcli(NetworkManager command line tool) nmcli命令修改是直接修改配置文件 命令语法:nmcli [OPTIONS] OBJECT { COMMAND | help } 一般常用选项是connection(con)和device(dev)可以tab (比较方便) [root@localhost ~]# nmcli agent connection device general help networking radio 显

JavaScript基础笔记二

一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变参(不定参)arguments function sum (a,b) { var result=0; var i=0; for(i=0;i<arguments.length;i++) { result+=arguments(i); } alert(resulet); } sum(12,5,7,5,5

网络基础笔记整理

什么是调制解调器? 调制解调器,连接网卡和网络运营商用的,叫moden,人们管它叫猫. 主要用于连接各运营商外网线路使用. 宽带接入方式:ADSL(升级版VDSL) 光钎,LAN 上网接入internet的方式主要分为:窄宽和带宽, 将网络接入速度为64Kbps及其以下的网络接入方式称为"窄带",相对于宽带而言窄带的缺点是接入速度慢 传输速率低,很多互联网应用无法在窄带环境下进行,如在线电影,网络游戏,高清晰的视频及语音聊天等. 拨号上网是最常见的一种窄带. 因特网和局域网的关系,窄宽

运维网络基础(二)

1.1 DHCP协议 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是由IETF(Internet工作任务小组)设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议 1.1.1 使用DHCP的好处 减少管理员的工作量 避免输入错误的可能 避免IP冲突 提高了IP地址的利用率 方便客户端的配置 1.1.2 DHCP的分配方式 自动分配 :分配到一个IP地址后永久使用 手动分配 :由DHCP服务器管理员专门指定IP地址

【网络基础系列二】BOOTP、DHCP协议

BOOTP 含义:BOOT Protocol,引导协议 作用:引导无盘计算机或者第一次启动的计算机获取以下网络配置信息: 主机的IP地址.子网掩码 路由器(网关)的IP地址 DNS服务器IP地址 C/S协议: Client:UDP 68端口 Server:UDP 67端口 静态配置协议: 含义:BOOTP Server上预设了BOOTP Client的物理地址与IP地址的绑定. 注意:“静态”的含义并非是指获取方式的静态性,而是指BOOTP Client的物理地址和IP地址的绑定关系是初始化的时

网络基础之二:ip地址

一.IP地址 IANA IANA 就是指(Internet Assigned Numbers Authority) ,Internet号分配的机构.负责对IP地址分配规划以及对TCP/UDP公共服务的端口定义. IP地址是一个32位的二进制数,通常被分割为4个"8位二进制数"(也就是4个字节). IP地址通常用"点分十进制"表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数. 例:点分十进IP地址(100.4.5.6),实际上是32位

JavaSE基础笔记二

第二章 基本语法 一.关键字&标识符 关键字:被java语言赋予了特殊含义,用做专门用途的字符串(单词) 保留字: 标识符:java对各种变量.方法和类等要素命名是使用的字符序列,即凡可以自己命名的地方都叫标识符 命名规则:(一定要遵守,否则会报编译异常) 由26个英文字母大小写,0-9,_或$组成 数字不可以开头 不可以使用关键字和保留字,但是能包含关键字和保留字. java严格区分大小写,长度无限制. 标识符不能包含空格. java中的命名规范:(不遵守也不会出异常) 包名:多单词组成时所有

Python网络编程笔记二

使用select模块实现IO多路复用服务端 1 import socket 2 import select 3 #windows上只支持select.select,不支持poll epoll 4 5 HOST = "127.0.0.1" 6 PORT = 9999 7 BUFFSIZE = 1024 8 ADDR = (HOST, PORT) 9 #创建服务器端监听套接字 10 tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_