承接上文内核怎么帮程序建立连接的
抓包 tcp -nn -i eth0 port 80 or arp
抓包2类请求包 一个是百度80端口 另一个是arp请求
开始listen监听
arp -d 192.168.150.2 && curl www.baidu.com
从arp表中删除指定条目 然后请求百度
如果在node1上ping192.168.168.88 能否ping通?
拿着这地址和掩码(255.255.255.0)做与运算得到192.168.168.0和目的地址192.168.150.0 不一样 跳过第一个条目 匹配第二个条目 然后扔给了路由器192.168.150.2 这就是IPV4互联网下一跳机制 但从网关192.168.150.2跳出去就回不来了 所以如果按照这种方式node1始终ping不通192.168.168.88 所以需要在路由表中添加一个条目
route add host 192.168.88.88 gw 192.168.150.12
添加一个主机 经过网关 到 你能ping通的192.168.150.12 这个条目是 只有 192.168.88.88才会走网关 上面图片 路由表1 中第二个条目中是 所有不知道的都会走默认网关
注意这个新增的条目对应的掩码地址是 255.255.255.255 当192.168.88.88这个ip和这个掩码做与运算的时候得到的就是它自己 和 前面的目标地址一样 就转发给了192.168.150.12 所以这个时候就通了 同一个局域网才会走网关 不再同一个局域网的不需要走网关 直接走交换机就可以出去 以上就是静态路由的过程
1、用户空间程序http协议(文本) 2、传输控制层 三次握手 传输数据 四次分手的过程 3、数据包怎么出去的主机?网络层的路由选择规则以及下一条机制 4、找到下一跳之后 数据包怎么给到下一跳的 是通过链路层的MAC地址切换的过程 5、客户端这一侧 从上往下完成一个数据包 发出去 服务端完成数据包 回来 客户端再确认 两边开放资源给应用层 6、应用层起线程起进程多路复用NIO即就需要关注IO模型了 7、再之后就需要关注线程池的概念了
交换机和路由器区别
交换机在拓扑图中用长方形表示 路由表中x表示 交换机是3层的 有路由表route 交换机可以看到MAC地址 路由器是网络层可以看到IP地址 所以交换机不能作为2个网络连接使用 2个局域网连接的时候一定是路由表 里面添加一些路由条目 从A网到B网一定会有转发规则 家里的路由器是路由器和交换机合二为一的 家里的路由器上面有4个接口可以接网线 插4台机器 这是走的交换机 交换机里面有一个线插的是路由器 路由器上有2个接口 一个是交换机 一个是IP运营商 交换机是走局域网的 一个局域网至少具备三层 网络层、链路层、物理层