Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (1 vote)
60 views

PDF Network Programming with Go Language : Essential Skills for Programming, Using and Securing Networks with Open Source Google Golang 2nd Edition Jan Newmarch download

The document promotes the ebook 'Network Programming with Go Language: Essential Skills for Programming, Using and Securing Networks with Open Source Google Golang, 2nd Edition' by Jan Newmarch and Ronald Petty, available for download on ebookmeta.com. It includes links to additional recommended digital products and highlights the book's focus on Go programming language and its application in network programming. The preface discusses the evolution of Go and the updates made in the second edition to reflect new features and tools.

Uploaded by

pytadiof
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
60 views

PDF Network Programming with Go Language : Essential Skills for Programming, Using and Securing Networks with Open Source Google Golang 2nd Edition Jan Newmarch download

The document promotes the ebook 'Network Programming with Go Language: Essential Skills for Programming, Using and Securing Networks with Open Source Google Golang, 2nd Edition' by Jan Newmarch and Ronald Petty, available for download on ebookmeta.com. It includes links to additional recommended digital products and highlights the book's focus on Go programming language and its application in network programming. The preface discusses the evolution of Go and the updates made in the second edition to reflect new features and tools.

Uploaded by

pytadiof
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Get the full ebook with Bonus Features for a Better Reading Experience on ebookmeta.

com

Network Programming with Go Language : Essential


Skills for Programming, Using and Securing
Networks with Open Source Google Golang 2nd
Edition Jan Newmarch
https://ebookmeta.com/product/network-programming-with-go-
language-essential-skills-for-programming-using-and-
securing-networks-with-open-source-google-golang-2nd-
edition-jan-newmarch/

OR CLICK HERE

DOWLOAD NOW

Download more ebook instantly today at https://ebookmeta.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Network Programming with Go Language : Essential Skills


for Programming, Using and Securing Networks with Open
Source Google Golang 2nd Edition Jan Newmarch
https://ebookmeta.com/product/network-programming-with-go-language-
essential-skills-for-programming-using-and-securing-networks-with-
open-source-google-golang-2nd-edition-jan-newmarch/
ebookmeta.com

Network Programming with Go Language 2nd Edition Ronald


Petty

https://ebookmeta.com/product/network-programming-with-go-
language-2nd-edition-ronald-petty/

ebookmeta.com

Software Development with Go: Cloud-Native Programming


using Golang with Linux and Docker Nanik Tolaram

https://ebookmeta.com/product/software-development-with-go-cloud-
native-programming-using-golang-with-linux-and-docker-nanik-tolaram/

ebookmeta.com

Anoikis How the Extracellular Matrix Regulates Life or


Death Decisions 1st Edition Steven M. Frisch

https://ebookmeta.com/product/anoikis-how-the-extracellular-matrix-
regulates-life-or-death-decisions-1st-edition-steven-m-frisch/

ebookmeta.com
IoT, Machine learning and Blockchain Technologies for
Renewable Energy and Modern Hybrid Power Systems 1st
Edition C. Sharmeela
https://ebookmeta.com/product/iot-machine-learning-and-blockchain-
technologies-for-renewable-energy-and-modern-hybrid-power-systems-1st-
edition-c-sharmeela/
ebookmeta.com

National Geographic Traveler Florence and Tuscany 3rd


Edition Tim Jepson

https://ebookmeta.com/product/national-geographic-traveler-florence-
and-tuscany-3rd-edition-tim-jepson/

ebookmeta.com

Fates and Furies Lauren Groff

https://ebookmeta.com/product/fates-and-furies-lauren-groff/

ebookmeta.com

Mountain Daddy's Milk & Honeymoon (Spice in the Mountains


Book 2) 1st Edition Elena Dawne

https://ebookmeta.com/product/mountain-daddys-milk-honeymoon-spice-in-
the-mountains-book-2-1st-edition-elena-dawne/

ebookmeta.com

The Bastard Complete Series 1st Edition Jack Porter

https://ebookmeta.com/product/the-bastard-complete-series-1st-edition-
jack-porter/

ebookmeta.com
Forming Humanity Redeeming the German Bildung Tradition
1st Edition Jennifer A. Herdt

https://ebookmeta.com/product/forming-humanity-redeeming-the-german-
bildung-tradition-1st-edition-jennifer-a-herdt/

ebookmeta.com
Jan Newmarch and Ronald Petty

Network Programming with Go


Language
Essential Skills for Programming, Using and
Securing Networks with Open Source Google
Golang
2nd ed.
Dr. Jan Newmarch
Oakleigh, VIC, Australia

Ronald Petty
San Francisco, CA, USA

ISBN 978-1-4842-8094-2 e-ISBN 978-1-4842-8095-9


https://doi.org/10.1007/978-1-4842-8095-9

© Jan Newmarch and Ronald Petty 2022

This work is subject to copyright. All rights are reserved by the


Publisher, whether the whole or part of the material is concerned,
specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other
physical way, and transmission or information storage and retrieval,
electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.

The use of general descriptive names, registered names, trademarks,


service marks, etc. in this publication does not imply, even in the
absence of a specific statement, that such names are exempt from the
relevant protective laws and regulations and therefore free for general
use.

The publisher, the authors and the editors are safe to assume that the
advice and information in this book are believed to be true and accurate
at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the
material contained herein or for any errors or omissions that may have
been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Apress imprint is published by the registered company APress
Media, LLC, part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY
10004, U.S.A.
I dedicate this to my family.
Preface to the Second Edition
While an age has passed in Internet years, Go remains a primary
destination for programmers. Go conquered the container technology
space. It continues to find affection in Cloud Native development. Go
strives to remain true to itself, backward compatible, yet adding new
language features like Generics. Tooling improvements such as Fuzzing
allow for more secure application development.
Go has changed, and so has this book. The first edition used Go 1.8;
we are now on Go 1.18. The code has been updated to reflect this new
reality. The examples have been largely developed to show a particular
feature of Go networking without forcing complexity like managing
several projects or packages scattered across the book; the associated
repository can be found here
https://github.com/Apress/network-prog-with-go-2e.
The first version of this book assumed familiarity with Go, and that
remains in this edition. We expand slightly what we are willing to
discuss in this book with the inclusion of more third-party modules,
tools, and techniques. Jan was correct to keep the focus on Go and not
to be distracted with the ecosystem at large.
If you desire to learn about implementing networking concepts with
Go, I hope this book serves you well.
As a point of comparison, what follows is Jan’s original preface,
reflecting Go in 2017.
Preface to the First Edition
It’s always fun to learn a new programming language, especially when it
turns out to be a major one. Prior to the release of Go in 2009, I was
teaching a Master’s level subject in network programming at Monash
University. It’s good to have a goal when learning a new language, but
this time, instead of building yet another wine cellar program, I decided
to orient my lecture notes around Go instead of my (then) standard
delivery vehicle of Java.
The experiment worked well: apart from the richness of the Java
libraries that Go was yet to match, all the programming examples
transferred remarkably well, and in many cases were more elegant than
the original Java programs.
This book is the result. I have updated it as Go has evolved and as
new technologies such as HTTP/2 have arisen. But if it reads like a
textbook, well, that is because it is one. There is a large body of
theoretical and practical concepts involved in network programming
and this book covers some of these as well as the practicalities of
building systems in Go.
In terms of language popularity, Go is clearly rising. It has climbed
to 16th in the TIOBE index, is 18th in the PYPL (Popularity of
Programming Language), and is 15th in the RedMonk Programming
Language rankings. It is generally rated as one of the fastest growing
languages.
There is a growing community of developers both of the core
language and libraries and of the independent projects. I have tried to
limit the scope of this book to the standard libraries only and to the
“sub-repositories” of the Go tree. While this eliminates many excellent
projects that no doubt make many programming tasks easier,
restricting the book to the official Go libraries provides a clear bound.
This book assumes a basic knowledge of Go. The focus is on using
Go to build network applications, not on the basics of the language.
Network applications are different than command-line applications, are
different than applications with a graphical user interface, and so on. So
the first chapter discusses architectural aspects of network programs.
The second chapter is an overview of the features of Go that we use in
this book. The third chapter on sockets covers the Go version of the
basics underlying all TCP/IP systems. Chapters 4, 5, and 6 are more
unusual in network programming books. They cover the topics of what
representations of data will be used, how a network interaction will
proceed, and for text, which language formats are used. Then in Chapter
7, we look at the increasingly important topic of security. In Chapter 8,
we look at one of the most common application layer protocols in use,
HTTP. The next four chapters are about topics related to HTTP and
common data formats carried above HTTP – HTML and XML. In
Chapter 13, we look at an alternative approach to network
programming, remote procedure calls. Chapters 14 and 15 consider
further aspects of network programming using HTTP.
Any source code or other supplementary material referenced by the
author in this book is available to readers on GitHub. For more detailed
information, please visit
https://github.com/Apress/network-prog-with-go-2e.
Acknowledgments
I want to share my appreciation for Jan Newmarch for collaborating on
this book. This project has offered me a tremendous sense of
achievement and allowed me to cross a much-anticipated item off my
bucket list. I would also like to thank Eldon Alameda for his thoughtful
approach at letting me know when I am off the mark and for providing
me with solid advice.
Additionally, I owe gratitude to my partners at Apress, both Steve
Anglin for the opportunity and Mark Powers for the guidance to help
see this through. Thank you to my colleagues at RX-M, including Randy
Abernethy, Christopher Hanson, Andrew Bassett, and Anita Wu. Our
work over the years has allowed for my participation in a project such
as this book.
Finally, I want to thank my wife Julie and daughter Charlotte. Julie’s
capacity to manage the world while I hide out on a computer is
unmatched and most appreciated. Charlotte’s energy, abilities, and
creativity inspire me to become better every day.

—Ronald Petty
Table of Contents
Chapter 1:​Architectural Layers
Protocol Layers
ISO OSI Protocol
OSI Layers
TCP/​IP Protocol
Some Alternative Protocols
Networking
Gateways
Host-Level Networking
Packet Encapsulation
Connection Models
Connection Oriented
Connectionless
Communications Models
Message Passing
Remote Procedure Call
Distributed Computing Models
Client-Server System
Client-Server Application
Server Distribution
Communication Flows
Synchronous Communication
Asynchronous Communication
Streaming Communication
Publish/​Subscribe
Component Distribution
Gartner Classification
Three-Tier Models
Fat vs.​Thin
Middleware Model
Middleware Examples
Middleware Functions
Continuum of Processing
Points of Failure
Acceptance Factors
Thoughts on Distributed Computing
Transparency
Access Transparency
Location Transparency
Migration Transparency
Replication Transparency
Concurrency Transparency
Scalability Transparency
Performance Transparency
Failure Transparency
Eight Fallacies of Distributed Computing
Fallacy: The Network Is Reliable
Fallacy: Latency Is Zero
Fallacy: Bandwidth Is Infinite
Fallacy: The Network Is Secure
Fallacy: Topology Doesn’t Change
Fallacy: There Is One Administrator
Fallacy: Transport Cost Is Zero
Fallacy: The Network Is Homogeneous
Conclusion
Chapter 2:​Overview of the Go Language
Types
Slices and Arrays
Maps
Pointers
Functions
Structures
Methods
Multithreading
Packages
Modules
Type Conversion
Statements
GOPATH
Running Go Programs
Standard Libraries
Error Values
Conclusion
Chapter 3:​Socket-Level Programming
The TCP/​IP Stack
IP Datagrams
UDP
TCP
Internet Addresses
IPv4 Addresses
IPv6 Addresses
IP Address Type
Using Available Documentation and Examples
The IPMask Type
Basic Routing
The IPAddr Type
Host Canonical Name and Addresses Lookup
Services
Ports
The TCPAddr Type
TCP Sockets
TCP Client
A Daytime Server
Multithreaded Server
Controlling TCP Connections
Timeout
Staying Alive
UDP Datagrams
Server Listening on Multiple Sockets
The Conn, PacketConn, and Listener Types
Raw Sockets and the IPConn Type
Conclusion
Chapter 4:​Data Serialization
Structured Data
Mutual Agreement
Self-Describing Data
Encoding Packages
ASN.​1
ASN.​1 Daytime Client and Server
JSON
A Client and A Server
The Gob Package
A Client and A Server
Encoding Binary Data As Strings
Protocol Buffers
Installing and Compiling Protocol Buffers
The Generated personv3.​pb.​go File
Using the Generated Code
Conclusion
Chapter 5:​Application-Level Protocols
Protocol Design
Why Should You Worry?​
Version Control
The Web
Message Format
Data Format
Byte Format
Character Format
A Simple Example
Another Random Document on
Scribd Without Any Related Topics
johtui mieleen luvaton tupakoiminen. Hän näki parhaaksi heittäytyä
lattialle ja yhtyä toisten leikkiin.

Muori nosti padan liedeltä ja pani jalkaniekka kahvipannun tulelle.


Vai vielä tässä Rosto-Aslak puolustamaan papin kristillisyyttä!…

Aslak poltteli miettiväisenä eikä puhunut hetkiseen aikaan mitään.


Virkkoi sitten yht'äkkiä:

— Vaan jospa se pappi olisikin kristitty ja te muut väärässä. Sillä


täytyy kai Rauna-muorinkin myöntää, että on suuri ero papin ja
esimerkiksi Riuhta-Pieran välillä, joka "lainailee" poroja, niinkuin
suruton lappalainen konsanaan?

— Älä, älä! Vai pissihaukan virkaan rupeat taas! Kuka se tässä


elämässä on täydellinen? Huihai, ei pappikaan! — Aina sinä siihen
elämään vetoat. — Mutta pääasia on tuntea syntinsä ja rukoilla
anteeksi, niinkuin Riuhta-Piera tekee. Kyllä henki henget tuntee.

— Niin — lisäsi hän ja kohensi tulta takassa — synnintuntoon


pitäisi sinunkin tulla, Aslak, ennenkuin mitta täyttyy.

Aslak ei vastannut mitään. Puhaltelihan vain savupilven toisensa


jälkeen. Hänen täytyi itselleen tunnustaa, että hän pelkäsi jonkun
verran Rauna-muoria. Sen puheet olivat niin kummallisia. Joka
käynnillä hän sai kuulla "synnin mitasta", joka muka täyttyisi kerran.
Pelkoon vaikutti vielä muuan uni, jonka hän pari vuotta takaperin oli
nähnyt.

Hän oli ollut seisovinaan avaralla jängällä, jossa kasvoi


hillankukkia ihan valkoisenaan. Hän asteli suopunki kädessä jänkää
ristiin rastiin, ja kun hän katsahti taaksensa, huomasi hän, että
jokainen askelen jälki oli veripunainen. Hillankukatkin, jotka olivat
joutuneet hänen jalkainsa alle, olivat muuttuneet veripunaisiksi. Hän
tarkasti kengänpohjiaan, mutta niissä ei näkynyt verta. Hän astui
muutaman kerran koetteeksi, mutta tulos oli sama: jäljet olivat
punaiset. Levottomana lähti hän silloin astumaan jängän toista laitaa
kohti ja hän koetti kulkea niin suoraan kuin mahdollista. Sinne
päästyään hän silmäsi taaksensa ja näki, että koko jängän toinen
laita, josta hän oli lähtenyt, oli kerrassaan muuttanut väriään: se
hohti kauttaaltaan verenkarvaiselta. Hän huomasi, kuinka jalan jäljet
levisivät ja yhtyivät toisiinsa, värjäten kukkamättäätkin punaisiksi.
Viimeisiä jalanjälkiä myöten tulvasi punainen aalto hänen luoksensa.
Hän koetteli mätästä jalkainsa juuressa, käsi tahraantui vereen.
Silloin kuuli hän kolean äänen huutavan: "Kun koko jänkä on
punainen, silloin on Aslak Roston synnin mitta täysi!" Siitä säikähti
hän niin, että lähti hätääntyneenä juoksemaan jängän reunaa pitkin
niin paljon kuin jaksoi. Kohisten tuli punainen aalto hänen
kintereillään. Silloin hän huomasi, että metsän reuna oli aivan
vieressä. Hän otti siis vauhtia ja hyppäsi metsään. —
Hengästyneenä ja puolipyörryksissä katseli hän edessään olevaa
jänkää, joka hohti verenkarvaisena, minne hän vain silmänsä loi.
Hillankukat olivat vielä punaisempia kuin mättäät, joissa ne
kasvoivat. Ne heloittivat kuin tummat veritäplät
vaaleammanpunaisella kankaalla. Punaista, ylt'yleensä vain
punaista. — Aslakkia kauhistutti niin että hän värisi. Hän ei tahtonut
saada silmiänsä irti tuosta kamalannäköisestä jängästä. Katse kiersi
sitä kuin lumouksissa. — Yht'äkkiä Aslak huomasi, että yksi kukka
jängän laidassa oli vielä jäänyt valkoiseksi ja samassa hän tunsi, että
jos hän siihen koskettaisi, muuttuisi sekin toisten kaltaiseksi — ja
silloin tulisi tuho. — Siihen hän oli herännyt.
Rauna-muorilla oli kahvi valmiina ja hän kehoitti Aslakkia
ottamaan. Aslak astui pöydän luo ja huomasi, että toinen kupeista oli
vähän vailla; toisella sen sijaan tulvehti kahvi lautasellakin.
Vaistomaisesti otti hän vajavamman kupin eikä tiennyt itsekään,
minkävuoksi.

— Se oli minun kuppini, sanoi Rauna-muori. — Tuo toinen oli


sinulle.

— Minä join jo pappilassa…

Hän ryyppäsi kupin kiireesti ja nousi lähteäkseen. Rauna-muori


kiiruhti täyttämään kuppia uudelleen, mutta Aslak kielsi.

— No mikä sinuun nyt meni, kun ei kahvi kelpaakaan?

— Enpä häntä… on sitä juotukin.

Hän sanoi hyvästit ja Rauna-muori huusi perään:

— Tule illalla seuroihin!

Ulkona oli jo pimeä. Aslak käväisi vielä aitallaan ja lähti sitten


astelemaan kylän toiseen päähän. Hänen piti vielä käydä
nimismiehessä.

Tenomuotkan kirkolla oli kaksi henkilöä, joita Aslak pelkäsi:


Rauna-muori ja nimismies Lang. Heillä oli molemmilla samanlainen
ominaisuus: he vainusivat hänen elämässään jotakin mustaa.
Rauna-muori luki hänelle väliin kuin kirjasta, mitä hän milloinkin oli
tehnyt. Niinkuin äskenkin. "Kenen poroja sinä nyt olet ollut
nylkemässä?" Se tiesi sen, mutta ei tiennyt kuitenkaan, että ne olivat
Salkko Hukan, nuo kymmenen sarvipäätä, jotka makasivat
Peeravuoman lumipurnuihin haudattuina. — Vai olisiko se ollut
sattuma? Miten lie? Omituisesti vaan oli muorin kysymys vaikuttanut
Aslakiin. Hän ei voinut itselleen selittää, mistä oikeastaan johtui tuo
pelko, että Rauna-muori näkee ja tietää. Saihan hän väliin kuulla
muiltakin samasta asiasta, mutta se ei vaikuttanut ensinkään
hermostuttavasti. — Nimismies taas ei koskaan sanallakaan
viitannut hänen elämäänsä. Mutta näki selvästi, että hänkin tiesi,
minkälainen mies Aslak Rosto oli. Hän tunsi sen joka kerta,
astuessaan Langin virkahuoneeseen. Tuntui aivan siltä, kuin olisivat
poronsarvissa riippuvat käsiraudat puhelleet: 'Hyvää päivää, Aslak
Rosto! Tässä me vielä olemme, mutta pian taidamme tulla luoksesi.
Me ikävöimme sinun ruskeita kalvosiasi.' Ja eikö ollut Salkko Hukka,
kirottu, kerran joikannutkin Suuvuonon markkinoilla: 'Tenomuotkan
nimismies käsirautoja takoo Rosto-Aslakille.'

Aslak kiiruhti askeleitaan, kuin päästäkseen eroon ikävistä


ajatuksista. Hän puristi aitasta ottamaansa poronpaistia lujemmin
kainaloonsa, kuin turvatakseen johonkin. Saisi nähdä, ottaisiko Lang
vastaan hänen lahjansa.

Nimismiehen virkahuoneesta näkyi tulta, kun Aslak saapui pihaan.


Hän huomasi Langin istuvan pöytänsä ääressä kirjoittamassa.
Peräseinällä riippuivat käsiraudat entisellä paikallaan. Mitä varten se
noita pitää tuossa näkösällä? Niinkuin eivät ihmiset tietäisi, että
nimismiehellä on sellaiset. Nehän kuuluvat jo virkaan…

Aslak kompuroi pimeän eteisen läpi ja astui rohkeasti sisään.

— Iltaa! sanoi hän lujalla äänellä ja koetti olla katsomatta rautoja,


mutta katse pyrki väkisinkin niitä hipaisemaan.
Nimismies keskeytti kirjoituksensa ja katsahti Aslakkia kysyvästi
silmälasiensa takaa. Hän oli pitkä, roteva mies. Suun ympärillä oli
tuima piirre, ja koko kasvoilla asusti totisuus, jota tällä hetkellä
erikoisesti lisäsi otsalle valahtanut tukka. Silmien sävy vain ei ottanut
oikein sulautuakseen kasvojen jyrkänvakavaan ilmeeseen. Ne olivat
pehmeät ja vähän uinailevat.

— Iltaa! lausui hän syvällä, rintaäänellä, aivan samanlaisella,


jonka
Aslak oli tottunut kuulemaan käräjätuvassa. — Mitä Rostolle kuuluu?

Eipä erityisiä… siinähän menee.

Aslak istahti oviseinämällä olevalle tuolille ja laski paistin


viereensä lattialle.

Syntyi kiusallinen vaitiolo, jonka kestäessä Aslakin täytyi


väkistenkin katsoa aivan edessään, vastapäisellä seinällä riippuvia
käsirautoja.

— Mitkä ne nuo ovat? kysyi hän äkkiä viitaten rautoihin.

Nimismies katsahti häneen syrjäsilmällä eikä näyttänyt oikein


käsittävän, oliko toinen tosissaan vai eikö.

— Eikö Rosto niitä tunne?

— Mistäpä se hullu lappalainen kaikkia… Aslak siristi silmiään.

— Ne ovat ketunraudat, sanoi nimismies.

— Vai niin. Minkälaisia kettuja niillä pyydetään?


— Sellaisia suuria ja vaarallisia, joita on vaikea muuten saada.
Nimismies hymyili veitikkamaisesti silmälasiensa takaa.

Katso sitä veitikkaa, kun laskee leikkiä, ajatteli Aslak.

— Vai niin, vai sellaisia. Enpä minä ole ennen sellaisista kuullut.

— Eipä ole tainnut Rosto kuulla.

Vaitiolo.

— Minkälaisilla asioilla se Rosto nyt liikkuu?

— No enpä erityisemmillä… Kuulin vain tuolla, että olisivat entisen


papin palkkarästit maksettavat.

— Jaha. Kumma, ettei Rosto niitä papille itselleen suorittanut.

— Ei tullut. Se oli sellainen mutkikas äijä, ettei sen kanssa


kehdannut riidellä.

— Riidellä? Tarvitsiko sen kanssa riidellä? Eikö se ollut kristitty


mies?

— Tiesi jo, mikä lie ollut.

Nimismies otti rästiluettelon esille ja Aslak suoritti maksunsa.

— Se taisi nyt olla viimeinen kerta sille äijälle?

— Niin oli. Tästälähtien perii uusi pappi. — Onko Rosto vielä


nähnyt uutta pappia?

— Olen. Äsken kävin tervehtimässä.


— No miltä tuntui?

— Mikäpä siinä… höyli mies…

Tuli taas vaitiolo, jolla aikaa nimismies jatkoi kirjoittamistaan.

— Taitaa olla Rostolla lihaa myydä? Nimismies kurkisti pöydän yli


ja silmäsi paistia.

— No eipä juuri… mistäpä sitä… Toin tämän vain sinulle lahjaksi,


jos otat vastaan.

Nimismies kävi vähän hämilleen.

— En ota lahjoja, mutta ostaa kyllä saatan, sanoi hän tuikeasti.

Kas, kas, miten ylpeä se oli, ylpeä ja arka. Luulikohan suureenkin


kiitollisuuden velkaan joutuvansa? Mutta Aslak Rosto ei myöskään
ollut mikään kauppasaksa. Minkä hän antoi, sen antoi hän ilman,
totisesti!

Hän nousi ja otti paistin lattialta ja laski sen pöydän nurkalle.

— Tämmöinen tämä on, sanoi hän kopeasti, — Ei tämän suurempi


eikä pienempi, tavallinen paisti. Ja nimismies saa sen ottaa, jos
tahtoo.

— Etkö kuullut, etten ota lahjoja? kivahti Lang ja pehmeissä


silmissä läikähti jotakin kovaa.

— Kuulin kyllä, mutta en uskonut oikein korviani. Minä lahjoitan


sen, mutta en myy hinnalla en millään.

— Pidä sitten paistisi! tiuskaisi nimismies ja nousi seisomaan.


Aslak otti paistin ja heilautti sitä kädessään.

— Mitä merkitsee Aslak Rostolle yksi vaivainen paisti? sanoi hän.


Ei mitään! — Ehkä saan antaa sen sinun koirallesi?

Nimismies karahti punaiseksi. Mitä se hävytön uskalsi? Vai


koiralle!

— Mene ulos ja heti! karjaisi hän ja osoitti ovea. — Ei tarvitse


koirani poronvarkaan lahjaa paremmin kuin minäkään!

Aslakin silmissä välähti viheriänkeltainen liekki. Hän yritti sanoa


jotakin, mutta nimismiehen kookas vartalo läheni uhkaavasti. Hän
työnsi oven auki ja astui pää pystyssä ulos.

Pihalla hän pysähtyi hetkeksi ja mietti äskeistä kohtausta. Sydäntä


kirveli kiukku ja häpeä. Niinhän se ajoi hänet ulos kuin koiran. Se oli
sentään liikaa! Ja uskalsi nimittää häntä poronvarkaaksi! Se oli jo
enemmän kuin siedettävää! Tosin hän se oli, mutta uskaltaa sanoa
se. Siinä astui nimismieskin kielletylle alueelle ja hän, Aslak Rosto,
muistaa sen, totisesti muistaakin.

Hän kirosi ja lähti kävelemään kylälle. Mennessään heitti hän


poronpaistin naapuritalon pihalle halkopinon taakse. Siellä olkoon ja
sieltä korjatkoon, kuka halunnee.

Hän asteli nopeasti kylän toista päätä kohden. Ei se käynti


sentään niin hullumpi ollutkaan, kuin miltä alussa oli tuntunut. Hän oli
mennyt nimismieheen arkana, vähän peloissaan, mutta nyt oli pelko
poissa täydellisesti. Nimismies oli paljastanut itsensä hänelle ja siitä
oli Aslak kiitollinen nimismiehelle. Nimismiehen tuhoa ennustava
vakavuus oli särkynyt ja Aslak oli huomannut, ettei Lang niin
vaarallinen ollutkaan, kuin hän oli luullut. Sitä asiaa, jonka perille
koetetaan päästä, ei viskata asianomaisen silmille noin vain. Ja jos
niin tehdään, osoittaa sellainen menettely, ettei ollakaan niin varmoja
asiasta.

Aslak veti ilmaa keuhkoihinsa. Ei tiennyt nimismies enempää kuin


muutkaan. Tiesiväthän kaikki, että hän varasti, mutta enempää eivät
tienneet. Eikä se merkinnyt vielä mitään. — Ja hän oli pelännyt
Langin käsirautoja! Nyt hän ei enää pelkää.

Siinä oli tiensyrjässä lukkarin talo. Ikkunasta heitti takkavalkea


valojuovan maantien poikki. Sisältä kuului veisuun verkkainen tahti.

Aslak pysähtyi ja katseli sisään. Pöydän päässä istui lihava mies


kaksi kynttilää edessään ja silmäili tuvantäyteistä väkijoukkoa.
Pöydän toisessa päässä istui pappi ja vähän matkan päässä hänen
rouvansa. Toisessa päässä pöytää veisasi lukkari. Etupenkillä istui
Rauna-muori Nikke-pojan kanssa hartaus ryppyisillä kasvoillaan.

Siellä Outa-Jussa piti seuroja.

Aslak näki, että Jussa oli huomattavasti lihonut sitten viime


käynnin, ja että papinrouvalla oli korkea povi ja kauniit silmät.

Hän mietti jo mennä sisään, mutta samassa tuli joku ikkunaan ja


tirkisti ulos. Aslak pyörähti nopeasti ympäri ja jatkoi matkaansa.
III.

Seurojen jälkeen jäi joukko miehiä haastelemaan ja tupakoimaan


lukkarin pirttiin. Siinä istui penkillä ikkunan vieressä muiden muassa
seitsenkymmenvuotias kirkkoväärti, "setä Jussas", joka pitkän
toimintansa aikana oli auttanut kappaa selkään seitsemälletoista eri
papille. Hänen kasvonpiirteistään vetivät eniten huomiota puoleensa
kookas nenä ja syvällä päässä kiiluvat, hyväntahtoiset lapsensilmät,
joista jokainen "sedän" kanssa puheisiin joutunut saattoi jo
edeltäpäin lukea suopean myöntymyksen kaikkiin mielipiteisiinsä.
Hänen vierustoverinsa erosi pukunsa puolesta huomattavasti
toisista. Hänellä oli nimittäin yllä univormuntapainen, pitkä takki,
josta kumminkin puuttuivat olkaliput ja virkanapit. Se oli
Tenomuotkan entinen järjestyksen valvoja, nyt eläkkeellä oleva
vanhus, kylän kesken tunnettu "vanhan poliisin" nimellä. Perempänä
pirttiä kangaspuiden sivulla istuskeli vilkasliikkeinen, lyhyenläntä
naapuritalon isäntä, Kalttopää, joka puhuessaan heitteli päätään
puoleen ja toiseen sekä näytti ilmaisevan ajatuksensa yhtä paljon
kasvojen eleillä kuin sanoillakin.

Pappi rouvineen oli jo poistunut ja saarnamieskin oli vetäytynyt


kamariin. Sen vuoksi luistikin pakina vilkkaasti, kun ei tarvinnut
ketään ujostella.
— Mitähän Outa-Jussa piti papista? kysyi vanha poliisi
nöyränhiljaisella äänellä.

— Eihän se Jussa papeista välitä. Liekö koko Suomessa yhtään,


jonka hän hyväksyisi. — Lukkari otti lattialta koivunrisun ja heitti
takkaan.

— Se on kumma, kun papit ja saarnamiehet eivät pysy sovinnossa


keskenään. Saarnamiehet moittivat pappeja ja nämä puolestaan
saarnamiehiä. Missä sitten lie vika?

— Eiköhän se ole molemmissa, lausahti setä Jussas. — Se kun


on vanha
Aatami kaikilla hah, hah! Sepä kumma!

— Kaikillapa tietysti…

‒ Ju ‒ ju.

— Setä Jussas täytti piippunsa uudelleen ja silmäili


hyväntahtoisena ympärilleen.

— Siivolta minusta näyttää tämä uusi pappi.

— Ei se luonnon siivous auta, jos ei ole pyhää Henkeä! — Rauna-


muori käännähti poliisin puoleen ja hänen mustat silmänsä tuikkivat
terävinä. — Parannus se pitää tehdä papinkin, jos mieli autuaaksi
tulla.

— Mistäpä sen niin varmaan tietää, jos olisi pappi parannuksen


tehnytkin?
Rauna-muori pyörähti penkillään ovensuuhun päin. Siellä istui
pitkä, luiseva, mustapartainen mies.

Kuulkaapas Kurun Heemiä! Hän tietää papin kristillisyyden. On


kuullut
Aslak Rostolta.

— Mitä se Aslak sitten…? kysyi vanha poliisi varovaisesti.

— Aslak on tutkinut pappia ja tullut siihen päätökseen, että pappi


on — elävä kristitty!

Miehet nauroivat.

— Se on Aslakkia! Hah, hah!

Kurun Heemi tiesi vanhastaan, ettei Aslakilla yläpäässä kylää ollut


vaikutusvaltaa, mutta siitä huolimatta hän puolusti väärtiään:

— Saattaahan se Aslak sen tuntea…

— Tuntea! Poronkorvan hän tuntee, mutta ei muuta. — Rauna-


muori sylkäistä pihautti halveksivasti.

— Emmehän me taida tässä tarvita muiden arvosteluja.


Saatammehan me sen itsekin nähdä.

— Sepä kumma! urahti setä Jussas.

— Jo vain, myönsivät miehet.

Keskustelu katkesi. Karsinan puolella supattivat vain naiset


puoliääneen. Mutta Kurun Heemi hymyili salaperäisenä. Eivät ne
uskalla pitkälle asiassa, johon Aslak Rosto on sekaantunut. Usealla
läsnäolijalla olikin poroja Roston kylässä, sen Heemi hyvin tiesi.

— Mutta onpa sillä papilla naurusuinen rouva, aloitti setä Jussas


leikkisänä. — On sinne papin kyökkiin soma mennä pyhä-aamuna.
Rouva on heti ystävällisenä vastassa ja paikalla on kahvi pöydässä
— hah, hah!

— Setä Jussas se onkin ollut hyvissä väleissä kaikkein


pappilanrouvain kanssa, nauroi Kalttopää.

— Sepä kumma! Kaksinkertaiset kahvit minä juon joka sunnuntai


pappilassa, ensin kyökissä ja sitten papin kamarissa. Hah—hah!
Vanha poliisi ja lukkari saavatkin tyytyä yhteen pariin. Hah, hah!

— Niin vain… yksi parihan se riittää, myönteli poliisi.

— Enkä minä ole riidellyt pappienkaan kanssa. Hyvät ovat olleet


välit. Vaikka pakkasihan välistä Keinäs-pappi kiivastumaan. Kerran
jo oli tulla yhteenottokin ja piti läheltä, etten siepannut piippua
taskusta ja antanut pappia otsaan!

Naurettiin joukolla. Tunnettiin niin hyvin tämä setä Jussaksen


voimasana, jota ei kukaan ollut koskaan nähnyt eikä kuullut
täytäntöön pannuksi.

Sellaisissa tilaisuuksissa, joissa piipun olisi luullut tulevan esille, se


oli jäänyt siivosti taskuun.

Lukkarin emännällä oli kahvi valmiina. Sitä juotaessa kääntyi puhe


lähestyviin Suuvuonon markkinoihin, joille piti lähdettämän
seuraavalla viikolla.
— Saapa nähdä, missä hinnassa ruijalainen pitää riekon tänä
talvena.

— Ei pitäisi olla aivan huonon. Luulen, että viitisenkymmentä äyriä


lähtee päästä.

— Sepä kumma! Ei niitä olekaan kovin viljalti ollut. Muistan minä


ajan, jolloin ei saatu kuin viisitoista tahi korkeintaan parikymmentä.
Mutta silloin olikin riekkoja viljalti. Parituhatta, kolmekin tappoivat
muutamat talot talvessa.

Se oli eri aikaa, sedän nuoruudessa?

‒ Ju — ju, viisikymmentä vuotta sitten.

— Sepä se.

Outa-Jussa tuli pirttiin ja istui penkin päähän. Hän oli noin


viidenkymmenen ikäinen, lihavahko mies, jolla oli parraton suu ja
ruskeat, vilkkaat silmät.

— Jussa lähtisi kamariin. Minä toisin kahvia, kehoitti lukkarin


emäntä.

— No eikö täällä saata juoda? Täällähän on muitakin.

Emäntä tarjosi kahvia ja Jussa kysäisi:

— Markkinoistako ne miehet…?

— Niin, puhuttiin riekon hinnoista. Ensi viikolla pitäisi olla raidot


kunnossa.
— Niin vain. Olen minäkin aikonut pistäytyä Suuvuonossa. En ole
käynytkään moneen vuoteen. Taitaisin päästäkin poliisin raidossa?

— Miksi ei.

— Sieltä on tullut monet kirjat ja kutsut, jonkavuoksi pitäisi käydä.

— Sinne tuleekin paljon väkeä, joten luulisi seuroihinkin riittävän.

— Niin vain…

— Mutta joutaakohan se suruton kaupoiltaan? Rauna-muori oli


sytyttänyt piippunsa ja nyökytteli hiljaa ruumistaan.

— Siinäpä se.

— Mutta kun on taivaanvaltakunnan tavara kalliina, ei silloin ole


maallisista estettä.

— Niin vain…

Tupakoitiin ja haasteltiin ja muisteltiin menneitä markkinoita. Yksi


muisti yhden, toinen toisen tapauksen. Milloin oli eksytty lumipyryssä
ja kierretty koko yö yhtä ainoata tienviittaa. Omia, puoleksi umpeen
tuiskuttaneita jälkiä oli seurattu, kun oli niitä luultu vieraan jäljiksi. Oli
koetettu saavuttaa edessäajaja, mutta turha vaiva. Jälki johti yhä
eteenpäin eikä edessäajajaa kuulunut. Aamulla, ilman selvittyä
huomattiin, että olikin seurattu omia jälkiä koko yö ja kierretty isoa
ympyrää. Monenlaista seikkailua niillä matkoilla oli koettu. Milloin oli
markkinapaikalla varastettu jauhot ja sokerit, milloin talonpihalta
ahkion keulasta peski, jonka poromies oli siihen hetkiseksi heittänyt,
pistäytyäkseen sisään kahvikupin ryyppäämään. Milloin oli
varaslappalainen katkaissut pimeässä raidon poikki ja vienyt porot
ahkioineen kuormineen. Kun muutaman tunnin ajan jälkeen
pysäytettiin, huomattiinkin, että raito oli poikki ja porot tavaroineen
tipotiessään. Lähteä niitä sitten hakemaan pyryssä ja pakkasessa,
huihai! Useimmiten se oli turha vaiva.

— Mutta saimme me kerran Kurkkio-Joonaksen kanssa kiinni


sellaisen veitikan, kertoi Kalttopään isäntä. — Oli, koranus,
katkaissut raidon muutamassa notkelmassa ja ehtinyt jo kätkeä
joitakuita sokeritoppeja kinokseen, kun me Joonaksen kanssa
saavuimme paikalle ja otimme veitikan lujille. Ei siinä armoa annettu.

— No mitä teitte mokomalle?

Mitäs muuta kuin selkään vain! — Saapui siihen nimittäin toisiakin


raitomiehiä ja niin me luimme lappalaiselle lain kouraan: joko otat
raipat heti, taikka vastaat ensi käräjissä, ja väärti valitsi edellisen,
niin raskaalta kuin se tuntuikin. Syväjärven Niku rupesi piiskuriksi ja
siinä sai lappalainen pakaroilleen keskellä lumiaavaa — jäätyneillä
koivunrisuilla. Ulisihan se ja potki, mutta mikäs auttoi. — Vankeutta
olisikin tullut, jos olisi käräjiin menty.

Kalttopää heilautti päätään ja sylkäisi.

— Semmoista se on erämaan laki.

— Semmoista se on… Ja hupaisinta jutussa oli se, että Kurkkio-


Joonas loppujen lopuksi komensi lappalaisen maksamaan viisi
kruunua piiskurille — vaivoista! Hih, hih!

— Kova mies se Joonas…

— Kova… Mutta niin kaivoi väärti uikuttaen kukkaronsa ja maksoi


— arvelematta. Sitten annettiin potkut takapuoleen ja niin hän sai
painua.

Miehet nauroivat niin että pirtti kajahteli.

— Kuka se oli?

— Hurrin poika, Mauna, Äkässuvannosta.

— Ka se, jopa arvattiinkin… Voi sitä Joonasta! On se miestä, on


totisesti!

Sen perästä ei ole mies kestänyt tulla markkinasiljolla vastatuksin.


Ennemmin kiertää kuin kohti tulee. Ja jos on pakostakin kohti
tuleminen, niin nopeasti pyrkii sivu eikä muuta kuin katsoa luihauttaa
pahasti — noin.

Kalttopää painoi leukansa rintaa vasten, veti suupielensä alas ja


luimisti kulmainsa alta.

Tarinaa riitti kun kerran oli alkuun päästy. Markkinamatkoista


siirryttiin kalastusretkiin, joilla yksi ja toinen oli nuorra miesnä ollut
mukana Ruijassa. Oikein innostuttiin, kun päästiin näihin
"muisteluksiin". Ruijasta olikin useimmilla hauskimmat muistot. Sinne
vielä vuosienkin takaa ajatus palasi. Ei ollut monikaan heistä
milloinkaan käynyt "Suomessa", Lapin rajojen ulkopuolella. Ei oltu
nähty Suomen kaupungeita, mutta Vesisaaret ja Hammerfestit oli
käyty, moneenkin kertaan. Ei oltu ennen tietty Suomesta muuta, kuin
mitä joku matkustava Suomen herra taikka Ruijaan pyrkivä
"karkulainen" oli "muistellut". Niin eristettyinä oli eletty. Silloin näet ei
ollut "kruununteitä", niinkuin nyt. Nythän sitä jo tiettiin omastakin
maasta jotakin, kun "avisit" tulivat melkein joka taloon, ja useampi
nuoremmasta polvesta oli käynyt "Toorniossa", jopa Oulussakin. —
Mutta ennen vanhaan johtivat kaikki tiet Ruijaan. Siellä olivat
vanhukset nuoruutensa päivinä harjoittaneet kalastusta, väliin
vuosikaupalla. Tunnettiinpa siis Jäämeri. Sen tyrskyissä oli taisteltu,
usein hengen uhallakin. Oli soudettu "fämbööreillä" [fembording,
norjal. sana = viisihankavene], sen sijaan että nyt sauvoskeltiin
kotikoskia omatekoveneissä. Oli ajettu "tampilla", väliin pitkiäkin
matkoja. Toiset olivat olleet lastaustöissä eri vuonojen perukoissa ja
hengittäneet vuosikausia sillin, turskan ja saidan hajua. Olipa joku
tehnyt retken Huippuvuorille saakka jonkun tutkimusretkikunnan
mukana, ja sieltäkös riitti muisteluksia talvisen takkavalkean ääressä
lapsille ja lastenlapsille! Pysyväiseksi muistomerkiksi näistä
vanhojen kertomuksista olivatkin kylänlapset ristineet kievarin
vieressä olevan kaihon "Pitsperkiksi". Kalttopää oli matkoillaan
kerran tavannut Ranskan "frinssin" ja Meeranivan Matti, lukkarin
emännän veli, väitti olleensa viikkokausia kalanpyyntikumppanina
itse Englannin "herttyykillä". — Olihan sitä maailmaa nähty. Oli toki!

Ennenkuin väki hajaantui, veisasi lukkari iltavirren ja Outa-Jussa


luki rukouksen. Ilta oli jo myöhäinen, kun kyläläiset vihdoin taivalsivat
koteihinsa, tyytyväisinä kuulemastaan sanasta, mutta vanhat miehet
vielä tyytyväisempinä siitä, että oli taas saatu muistella Ruijan-aikoja,
— Ruijan, joka heille, vanhoille tenomuotkalaisille, merkitsi samaa
kuin sadoissa värivivahduksissa kimalteleva, sädehtivä nuoruuden
maailma.
IV.

Suujoen suussa, Suuvuonon pohjukassa kuhisi markkinaväkeä kuin


mehiläisiä suuressa mehiläispesässä. Lappalaisia tungeskeli joka
paikassa, alkaen jokisuuhun pystytettyjen kauppapöytien äärestä
vähän ylempänä joenrannalla olevien talojen pihoihin saakka. Väkeä
oli runsaasti ja markkinailon pitäjiä paljon. Varsinkin markkinapaikan
laiteilla, mihin kyläpoliisin järjestystä valvova silmä ei aina ulottunut,
teuhasivat lappalaiset pulloineen, hypellen yhdessä kimpussa niin
että siljo tömisi. Sieltä kuului vähä vähä hihkumista, joikkausta ja
käheä-äänistä mekastusta.

Salkko Hukka Tenomuotkasta ajeli kauppakojujen välissä, keskellä


tiheintä väkijoukkoa, sakeasarvisella härällään. Poro hypähteli
arkana sinne tänne ja ihmiset syöksähtelivät syrjään teutaroivan
elukan tieltä. Väkijoukosta kuului naisten kiljahduksia ja miesten
kirouksia, kun he äkäisinä toruivat humalaista ajomiestä. Mutta
Salkko ei välittänyt kiljahduksista eikä kirouksista. Tempasi vain
hihnasta ja pakotti pelästyneen ajokkaan eteenpäin.

— Salmon Salkko, houkka poika, koko maailman houkka,


tosi juoppo. Voiaa naa-naa… Ei oo vieläkään niin köyhä, kuin
te toivotte…
joikkaili hän ja löi härkää hihnalla selkään.

Kyläpoliisi oli huomannut lappalaisen puuhat ja juoksi paikalle.

— Et sinä saa täällä ajaa! huusi hän ja tarttui poron sarviin.

Ajaa ihmiset nurin ja repii vaatteet tuolla sarvipäällään, toruttiin


väkijoukosta.

Salkko kömpi ahkiosta ja hänen kuparinvärisillä kasvoillaan oli


itsetietoinen ilme.

Minä olen maksanut, sanoi hän nikotelleen. ‒ Viisi kruu—nua,


hik…

Poliisi katseli häntä iloisena ja naurahti.

— Et sinä sillä rahalla saa ajaa keskellä markkinapaikkaa, torui


hän. Tuo viisi kruunua on ollut sakkoa muun markkinailoin
pitämisestä, mutta ajo ei siihen kuulu. Vie porosi pois ja paikalla, tahi
sakotetaan lisää!

Salkko nikotteli ja murisi, mutta totteli kuitenkin, talutellen poroaan


väentungoksen läpi. Mutta päästyään aukealle hän istahti jälleen
ahkioon ja ajeli rauhallisena kylää kohden, joka oli vähän ylempänä
mäellä.

— Salmon Salkollapa on kaksisataa naarasporoa. Voiaa


naa-naa… Salmon Salkon sakeapäät ovat jo niin päisevät,
että, että voiaa naa-naa kunne kuullaan nulkastaneen koko
elo ruukaltaa perässä… Voiaa naa-naa na-na naa

joikkasi hän ja ajeli mäkeä ylös.

You might also like