linux学习day16笔记

今日内容

  • 网络部分剩余

    socket套接字:
    	socket抽象层处于应用层与传输层之间,是对传输层及其以下的封装。应用程序产生的数据包想要往外传输,直接导入socket模块,然后传给socket就可以了,socket会完成后续的封装。如果没有socket套接字,需要研究大量的协议,然后再学习封装,为了方便,创造了socket套接字。
    	
    cs架构与bs架构:
    	基于网络通信的软件有两种架构
    		client----------server
    		'正常客户端'  
    		内部存有对应的应用程序
            
    		browser---------server
    		'超级客户端'  # 例:浏览器
    		兼容了很多服务端在一起,可以做到其他客户端各自能做到的事情
    
    dns:域名解析
    	https://www.baidu.com.:80
    	80:服务端端口
    	com后面的'.':根
    	com->*域名  # com是商业组织
    	baidu->二级域名
    	www->主机名
        
    	全球一共13台根服务器,根服务器只存放解析*域名的ip地址
    	# dns的查询走udp协议,udp协议有效传输的数据量只有512字节,这里面包含了你的查询信息和根ds服务器的ip地址,放13台根服务器已经是极限了,所以无法再加根服务器。
    	*域服务器存放解析二级域名的ip地址
    	二级域服务器存放解析二级域服务器里主机的ip地址
    	
    	计算机怎么找网站对应的ip地址:
    		浏览器DNS缓存->本地系统DNS缓存->本地计算机HOSTS缓存->ISP DNS缓存->递归or迭代搜索
    	# 递归:1问2,2问3.3问4,4回答3,3回答2,2回答1
    	# 迭代:1问2,2让1问3,3让1问4,4回答1
     
    	hosts文件可以充当本地dns使用
    		linux:/etc/hosts
    		windows:C:\Windows\System32\drivers\etc\hosts
        
    dhcp:
    	动态获取ip地址,子网掩码,网关,dns等。
    	# 一开机电脑就会自动运行dhcp的客户端软件
        
    '''  
    dhcp服务端端口67
    dns服务端端口53
    '''
    
    网络通信整体流程
    	1.开机,开机时自动运行dhcp客户端,动态获取本机的ip地址,子网掩码,网关得出ip地址,DNS的ip地址。
    	2.打开浏览器,输入url地址。
    	3.浏览器把url地址发给DNS,DNS解析后还出来ip地址。
    	4.浏览器基于tcp协议和服务端建立双向链接。
    	5.传输数据,先应用层(http协议等)封装,再交给传输层(tcp协议)封装同时加上tcp数据包的包头,再交给网络层(ip协议)封装同时加上ip数据包的包头,再交给数据链路层(以太网协议)分批次发,每个批次都要加上以太网数据包的包头,最后在物理层转换为bit。
        
    # 千兆网卡上的线的顺序(常识):橙白,橙,绿白,蓝,蓝白,绿,棕白,棕
    
  • 交换机

    交换机是二层设备
    如果想要两个交换机互相传数据,需要在两个交换机之间连接一个路由器。
    
    同一个交换机分出两个局域网,叫做划分VLAN。  # 划分VLAN是二层隔离
    802.1Q协议标准定义了VLAN头的格式,它在以太网帧结构的SA后加入了4bytes的VLAN头数据,其中包括了12bit的VLAN ID。  # VLAN ID的最大值为4096,有效范围是1-4094
    如果包送到了VLAN1号口,没有找到目标mac地址,就会广播,只会广播给连接了VLAN1号口的设备。
    '''
    Access口:收到的包没有VLAN标记,发出去的包也没有VLAN标记。
    Trunk口:收到的包有VLAN标记,发出去的包也有VLAN标记。
    '''
    两个交换机连接起来的口应该是Trunk口,其他连接计算机的口应该是Access口。
    # 交换机广播需要知道VLAN频道,所以收到的包要带上VLAN标记才行
    # 因为需要实实在在的传给一个计算机,所以收到的包不能带上VLAN标记
    
上一篇:day16 阶段总结


下一篇:每日一题-Day16-链表反转