Q

  1. ping (ICMP),ICMP means Internet Control Message Protocol
  2. NAT(Network Address Translation,网络地址转换)

    • NAT 网络地址转换 NAT(Network Address Translation,网络地址转换)。 NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。 通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭 NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
    • 宽带分享:这是 NAT 主机的最大功能。
    • 安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。 私有网络预留出了三个IP 地址块,如下:
    • A 类:10.0.0.0~10.255.255.255
    • B 类:172.16.0.0~172.31.255.255
    • C 类:192.168.0.0~192.168.255.255 上述三个范围内的地址不会在因特网上被分配,因此可以不必向ISP 或注册中心申请而在公司或企业内部自由使用

子网划分 http://eagle2014.blog.51cto.com/7992740/1439252


  1. TCP/IP
    • 从上图可以看到,TIME_WAIT出现在client端,即主动关闭的那一端
    • TIME_WAIT出现在主动关闭一方,CLOSE_WAIT出现在被动关闭一方
    • 从TIME_WAIT状态到CLOSED状态,有一个超时设置,这个超时设置是 2*MSL
    • TIME_WAIT确保有足够的时间让对端收到了ACK,如果被动关闭的那方没有收到Ack,就会触发被动端重发Fin,一来一去正好2个MSL
    • 有足够的时间让这个连接不会跟后面的连接混在一起

I

II

TCP建立连接的过程采用三次握手,已知第三次握手报文的>发送序列号为1000,确认序列号为2000,请问第二次握手>报文的发送序列号和确认序列号分别为

这里主要是TCP三次握手期间的发送序号和确认序号。

  • TCP第一次握手期间:客户机向服务器发送请求报文段,发送序号为x
  • TCP第二次握手期间:服务器向客户机发送请求+确认报文段,发送序号为y,确认报文段为x+1
  • TCP第三次握手期间:客户机向服务器发送确认报文段,发送序号为x+1,确认序号为y+1
  • 这里第三次握手报文的发送序列号为1000,确认序列号为2000,可以退出第二次握手发送序号为1999,确认序号为1000.

简化一下,其实有两个序列,客户端发送X,服务器发送Y。三次握手分别是

  • 客户端:发送X
  • 服务端:发送Y, 确认X+1
  • 客户端:发送X+1(1000),确认Y+1(2000)

可以反推第二次为1999,确认1000

这不是同一端的数据包


  1. 数据链路层采用后退N帧(GBN)协议
  2. 四种情况会发送RST包:
    1. 端口未打开
    2. 请求超时
    3. 提前关闭
    4. 在一个已关闭的socket上收到数据
  3. keep alive
    • 在HTTP1.0和HTTP1.1协议中都有对KeepAlive的支持。其中HTTP1.0需要在request中增加“Connection: keep-alive” header才能够支持,而HTTP1.1默认支持
    • 当使用Keep-Alive模式时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接
    • 当你的Server多为动态请求,建议关闭keep-alive,server多为静态资源时,建议打开
    HTTP/1.0

    在HTTP/1.0版本中,并没有官方的标准来规定Keep-Alive如何工作,因此实际上它是被附加到HTTP/1.0协议上,如果客户端浏览器支持Keep-Alive,那么就在HTTP请求头中添加一个字段 Connection: Keep-Alive, 当服务器收到附带有Connection: Keep-Alive的请求时,它也会在响应头中添加一个同样的字段来使用Keep-Alive。这样一来,客户端和服务器之间的HTTP连接就会被保 持,不会断开(超过Keep-Alive规定的时间,意外断电等情况除外),当客户端发送另外一个请求时,就使用这条已经建立的连接

    HTTP/1.1

    在HTTP/1.1版本中,官方规定的Keep-Alive使用标准和在HTTP/1.0版本中有些不同,默认情况下所在HTTP1.1中所有 连接都被保持,除非在请求头或响应头中指明要关闭:Connection: Close ,这也就是为什么Connection: Keep-Alive字段再没有意义的原因。另外,还添加了一个新的字段Keep-Alive:,因为这个字段并没有详细描述用来做什么,可忽略它 Not reliable(不可靠) HTTP是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive没能改变这个结果。另外,Keep-Alive也不能保证客户端和服 务器之间的连接一定是活跃的,在HTTP1.1版本中也如此。唯一能保证的就是当连接被关闭时你能得到一个通知,所以不应该让程序依赖于Keep- Alive的保持连接特性,否则会有意想不到的后果

  4. internet equipment

    I

  • POP3协议用于接收或下载邮件,默认端口110
  • SMTP协议用于传输或发送邮件,默认端口25
  • DNS是域名解析的系统,默认端口53
  • DHCP是动态主机配置协议,默认端口67(服务器)

results matching ""

    No results matching ""