工作之后,才发现以前在学校里学的东西忘得太快太干净了,现在需要一点点地捡起来了,要不然写几行程序会闹很多笑话会出现很多bug的。从今天开始,翻一翻《TCP/IP协议详解 卷1》这本书,希望能看下去,做好笔记发博客。
    首先了解一下TCP/IP的基本概念知识吧。
    1、分层
    TCP/IP通常是被分成四层协议系统的,应用层(Telnet、FTP和Email等)、运输层(TCP、UDP)、网络层(IP、ICMP、IGMP等)和链路层(设备驱动程序),每一层各司其职,下层对上层来说,是透明的。
    上图是局域网上运行的FTP两台主机,在同一层上,双方都有对应的一个或多个协议进行通信。首先认识一下TCP/IP协议。
    TCP/IP通常指的是TCP/IP协议簇,是一组不同的协议组合在一起勾成的协议簇,上图中列举了四种不同层次的协议,F T P是一种应用层协议, T C P是一种运输层协议,I P是一种网络层协议,而以太网协议则应用于链路层上。
    在T C P / I P协议族中,网络层 I P提供的是一种不可靠的服务。也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面, T C P在不可靠的I P层上提供了一个可靠的运输层。为了提供这种可靠的服务, T C P采用了超时重传、发送和接收端到端的确认分组等机制。
    
2、互联网的地址
    互联网上每个接口都必须有一个唯一的Internet地址即IP地址,IPV4的地址长度是32bit,如下图分成五类:
    A类地址范围:0.0.0.0~127.255.255.255,B类地址范围:128.0.0.0~191.255.255.255,C类地址范围:192.0.0.0~223.255.255.255,D类地址范围:224.0.0.0~239.255.255.255,E类地址范围:240.0.0.0~247.255.255.255.
    3、域名系统
    在 T C P / I P领域中,域名系统( D N S)是一个分布的数据库,由它来提供 I P地址和主机名之间的映射信息。
    
    4、封装
    当应用程序用 T C P传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息。以太网数据帧的物理特性是其长度必须在 4 6~1 5 0 0字节之间。
    
    5、分用
    当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用。
    6、客户-服务器模型
    大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。可以将这种服务分为两种类型:重复型或并发型。一般来说, T C P服务器是并发的,而 U D P服务器是重复的,但也存在一些例外。
    7、端口号
    T C P和U D P采用16 bit的端口号来识别应用程序,服务器一般都是通过知名端口号来识别的。例如,对于每个 T C P / I P实现来说,F T P服务器的T C P端口号都是2 1,每个Te l n e t服务器的T C P端口号都是2 3。U n i x系统的文件/e t c / s e r v i c e s都包含了人们熟知的端口号。查看:cat /etc/services | grep telnet
    8、RFC
    I n t e r n e t的正式标准都以R F C(Request for Comment)文档出版。另外,大量的R F C并不是正式的标准,出版的目的只是为了提供信息。 R F C的篇幅从1页到2 0 0页不等。每一项都用一个数字来标识,如 RFC 1 1 2 2,数字越大说明R F C的内容越新。
    9、实现
    既成事实标准的 T C P / I P软件实现来自于位于伯克利的加利福尼亚大学的计算机系统研究小组。从历史上看,软件
是随同4.x BSD系统(Berkeley SoftwareD i s t r i b u t i o n)的网络版一起发布的。它的源代码是许多其他实现的基础。
    10、应用编程接口
    使用T C P / I P协议的应用程序通常采用两种应用编程接口( A P I):s o c k e t和T L I(运输层接口:Transport Layer Interface )。

TCP/IP协议详解---概述的更多相关文章

  1. TCP/IP协议详解概述

    TCP/IP协议详解卷1--第一章概述--读书笔记 作者:vpoet 日期:2015/06/25 注:本系列的文章只是作者对TCP/IP协议的理解,难免会出现纰漏或者不完整,当然也有可能很肤浅,希望大 ...

  2. 【转载】TCP /IP协议详解

    首先,TCP/IP不是一个协议,而是一个协议族的统称. 里面包括了IP协议,IMCP协议,TCP协议,以及http.ftp.pop3协议等等. TCP/IP协议分层 提到协议分层,我们很容易联想到IS ...

  3. TCP /IP协议详解【转】

    转自:https://www.jianshu.com/p/0cf648510bce?utm_campaign=maleskine&utm_content=note&utm_medium ...

  4. 003 TCP/IP协议详解(二)

    一.ping ping可以说是ICMP的最著名的应用,是TCP/IP协议的一部分.利用"ping"命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障. 例如:当我们某一 ...

  5. TCP/IP协议详解内容总结

    TCP/IP协议 TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. TCP/IP分层:   这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为 ...

  6. tcp/ip协议详解

    1. 概念介绍 互联网协议(Internet Protocol Suite)是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构.它常被通称为 TCP/IP 协议族(英语:TCP/I ...

  7. TCP/IP协议详解内容总结(怒喷一口老血)

    TCP/IP协议(本文源自外部链接) TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. 这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为网络 ...

  8. TCP/IP协议详解笔记——IP协议

    简介 TCP/IP协议族中最核心的协议,提供不可靠.无连接的数据报传输服务. 不可靠:不能保证IP数据报能成功送达. 无连接:并不维护后续数据报的状态信息,每个数据报的处理都是相互独立.数据报可能不会 ...

  9. 003 TCP/IP协议详解(一)

    TCP/IP TCP/IP 意味着 TCP 和 IP 在一起协同工作. TCP 负责应用软件(比如你的浏览器)和网络软件之间的通信. IP 负责计算机之间的通信. TCP 负责将数据分割并装入 IP ...

随机推荐

  1. HBase第二章 基本API

    1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  2. DB知识点记录

    DB知识点记录 分页 SqlServer:ROW_NUMBER () over (ORDER BY ID) AS RN, MySql:limit Oracle:ROWNUM AS RN 数据表的基本结 ...

  3. python练习---小脚本

    一.爬子域名 #!/usr/bin/python # -*- coding: utf-8 -*- import requests import re import sys def get(domain ...

  4. Jmeter使用JDBC链接数据库进行压力测试

    一.关于性能测试 对数据库进行压测时,我们需要关注的几个方面: 1.系统相关指标,诸如:系统CPU/内存/IO等 2.进程相关指标,诸如:mysql该数据库的对应的进程占用CPU/内存/IO等 3.数 ...

  5. Vue学习计划基础笔记(六) - 组件基础

    组件基础 目标: 掌握组件的构建方式 掌握如何复用组件.父子组件如何传值.如何向父组件发送消息 掌握如何通过插槽分发内容 了解解析dom模板时的注意事项 了解动态组件 组件 组件理解起来大概上就和ph ...

  6. Spring Cloud(一):服务治理技术概览【Finchley 版】

    Spring Cloud(一):服务治理技术概览[Finchley 版]  发表于 2018-04-14 |  更新于 2018-05-07 |  Spring Cloud Netflix 是 Spr ...

  7. 利用xlsxwriter生成数据报表

    #!/usr/bin/env python# -*- coding:utf-8 -*-import os,xlsxwriter,datetimeimport ConfigParserfrom send ...

  8. 梯度消失&&梯度爆炸

    转载自: https://blog.csdn.net/qq_25737169/article/details/78847691 前言 本文主要深入介绍深度学习中的梯度消失和梯度爆炸的问题以及解决方案. ...

  9. 如何隐藏掉SQL Server中自带系统数据库,数据表,存储过程等显示文件,只显示用户的数据库,数据表等文件

    企业管理器了,---->   编辑该数据库的注册属性--->“常规”属性页下面-->“显示系统数据库和系统对象”的选项去掉

  10. Python Tkinter-Event

    1.点击 from tkinter import * root=Tk() def printCoords(event): print(event.x,event.y) bt1=Button(root, ...